every()和 some()目的:确定数组的所有成员是否满足指定的测试
1. some方法 只要其中一个为true 就会返回true的 一真即真
/**
* 计算对象数组中每个电脑的扣件系统是否可用,大于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;
2.every()方法必须所有都返回true才会返回true,哪怕有一个false,就会返回false
/**
* 假定有一个注册页面,判断所有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{
//给用户一个错误提醒
}