ES5 数组some()方法/every()

ES5 数组some()方法

some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。
some() 方法会依次执行数组的每个元素:
如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
如果没有满足条件的元素,则返回false。
注意: some() 不会对空数组进行检测。
注意: some() 不会改变原始数组。

array.some(function(currentValue,index,arr),thisValue)
thisValue是参数函数的this指向,如果不传则是参数函数的this是undefined。

let arr = [1,45,77,5];
let b = arr.some(function(curItem,curIndex,_arr){
  console.log(curItem,curIndex,_arr,this);
  return curItem>10;
});
console.log('b:',b);

上面的代码和预期的一样,some()里面的函数只循环了两次,当45>10的时候返回了true,并且跳出了循环,b=true;
下面用自己的方法实现:

function mySome(fn,_this){
  if(typeof fn === "function") {
    let r = false;
    let arr = this;
    for (let i =0; i 10;
},window);
console.log('c:',c);

array.every(fn,_this)

array.every(function(currentValue,index,arr),thisValue)
thisValue是参数函数的this指向,如果不传则是参数函数的this是undefined。

数组中还有一个every()方法,写法和some()函数一样,功能也是对数组中的每一项进行判断,是否满足参数函数的条件,如果所有的都满足,则返回true,如果有一项不满足,就停止循环,返回false。

你可能感兴趣的:(ES5 数组some()方法/every())