菜鸟教程:数组
every() 方法用于检测数组全部元素是否都符合指定条件(经过函数提供)。
every() 方法使用指定函数检测数组中的全部元素:
若是数组中检测到有一个元素不知足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
若是全部元素都知足条件,则返回 true。
注意: every() 对空数组检测 返回 true。
注意: every() 不会改变原始数组。
every的第一个参数是回调函数,该函数能够接受三个参数,依次为当前元素item,当前元素下标index和调用此方法的数组arr,every的第二个参数是一个对象,能够将其绑定为回调函数的this。函数
Array.prototype.myEvery = function (cb, thisValue) { if (typeof cb !== 'function') { throw new Error('第一个参数应当是函数') } // 空数组返回true if (!this.length) { return true } for (let i = 0; i < this.length; i++) { //若是任一次回调函数的返回值为假,就返回false,every就此中止执行 //使用call方法 绑定回调函数中的this if (!cb.call(thisValue, this[i], i, this)) { return false; } } //若遍历执行以后,回调函数结果全为真,返回true return true }