-
回顧基本使用方式
// arr.reduce(() => {}) let arr = [1, 2, 3, 4, 5] let res = arr.reduce((prevVal, item, index, arr) => { console.log(prevVal, item, index, arr) return prevVal + item }, 0) let res2 = arr.reduce((prevVal, item, index, arr) => { console.log(prevVal, item, index, arr) return prevVal + item }) console.log(res, res2)
-
模擬實現reduce方法
Array.prototype.myReduce = function (func, prevVal) { // 根據是否傳遞了第二個參數來初始化遍歷數組的起始位置 let startIdx = 0 // 傳了 if (!prevVal) { // 沒傳 startIdx = 1 prevVal = this[0] } for (let i = startIdx, len = this.length; i < len; i ++) { // 回調的每一次執行結果都賦給prevVal prevVal = func(prevVal, this[i], i, this) } return prevVal }
重溫reduce方法,並深入探究API實現方式
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.