菜鳥教程:數組
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 }