gogogo
管理员
管理员
  • UID25
  • 粉丝0
  • 关注0
  • 发帖数1384
阅读:4566回复:0

ES6 数组some()和every()使用

楼主#
更多 发布于:2020-03-14 21:14
some 英语翻译为一些,every翻译为所有,每个,所以
some方法 只要其中一个为true 就会返回true的,相反,
every()方法必须所有都返回true才会返回true,哪怕有一个false,就会返回false;
every()和 some()目的:确定数组的所有成员是否满足指定的测试。


every:一假即假:
some:一真即真

  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;




  every举例:


/**
 * 假定有一个注册页面,判断所有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{
    //给用户一个错误提醒
    }
游客


返回顶部