day7:js数组方法every的实现

41 阅读1分钟
    const arr = [1,2,3];
    Array.prototype._every = function (cb) {
        if (typeof cb !== 'function') {
            throw new Error('cb is not a function')
        }
        const arr = [...this];
        if (!arr.length) {
            return false
        }
        let isValid = true;
        for (let i = 0; i < arr.length; i++) {
            if (!cb(arr[i], i, arr)) {
                isValid = false;
                break;
            }
        }
        return isValid;
    }
    console.log(arr._every(Boolean))
    // 输出结果:true