ES6 数组some()和every()使用
emer 发布于 2018-12-4 16:32 2892 次阅读
some 英语翻译为一些,every翻译为所有,每个,所以some方法 只要其中一个为true 就会返回true的,相反,every()方法必须所有都返回true才会返回true,哪怕有一个false,就会返回false;every()和 some()目的:确定数组的所有成员是否满足指定的测试 every:一假即假: some:一真即真 /** * 计算对象数组中每个电脑的扣件系统是否可用,大于16位操作系统表示可用,否则不可用 */ var computers = [ {name:"Apple",ram:8}, {name:"IBM",ram:4}, {name:"Acer",ram:32}, ]; var result= computers.every(function(computer){ return computer.ram > 16 }) console.log(result)//false; var some = computers.some(function(computer){ return computer.ram > 16 }) console.log(some)//true; /** * 假定有一个注册页面,判断所有Input内容的长度是否大于0 * */ function Field(value){ this.value = value } // 在原型上定义方法 Field.prototype.validate = function(){ return this.value.length > 0; } var username = new Field('2131'); var telephone = new Field('8888888888888') console.log(username.validate() && telephone.validate())//true //二`: var username = new Field('2131'); var telephone = new Field('8888888888888') let password = new Field(''); //console.log(username.validate() && telephone.validate())//只要一个为空就为false // 简化方式 var fields = [username, telephone,password]; console.log(fields) var formIsValid = fields.every(function(field){ return field.validate() }); console.log(formIsValid) if(formIsValid){ //注册成功 }else{ //给用户一个错误提醒 }