function myreduce (fn,basenumber)// 判斷傳入的是不是個函式
if(typeof fn !== 'function') throw new error(`$ is not a function`)
// 判斷陣列是否為空
if(!this.length) throw new error(`reduce of empty array with no initial value`)
// 判斷傳回的基數,是否有值,沒有值的話拿陣列的第乙個值為基數
basenumber = (basenumber || 0) + this[0]
let index = 0
//迴圈執行遍歷執行fn函式
while(index < this.length)
return basenumber
}array.prototype.myreduce = myreduce
a = [1,2,3,4,5,6]
const x=
a.myreduce(function(a,b),20)
console.log(x)
陣列(Array)的常用方法(reduce)
reduce 陣列通過此方法,可以實現將每一項疊加稱為一項。使用 sum arr.reduce fun,start 其中,fun為乙個方法,接收四個引數,分別為 cur 當前項的值 index 當前項的index arr 原陣列 其中,start為疊加計算定義型別,並且為初始值,此值可以根據實際情況...
瀏覽器Array改變原陣列方法原理及實現
1.push 往陣列末尾新增元素,可一次新增多個 array.prototype.push function return this length 2.pop 移除陣列中的最後乙個元素,引數沒有效果 array.prototype.pop function 3.shift 移除陣列最開始的元素,只能...
reduce實現filter,map 陣列扁平化等
map函式接收乙個函式作為引數,作為引數的函式接收三個引數值,分別是遍歷陣列的每一項元素,元素的索引和陣列本身。這三個引數剛好和reduce函式接收的第乙個函式引數的第2 3 4個引數是對應的。這是實現的核心 實現思路是,將每次遍歷的元素,作為傳入的函式的引數,並將函式執行的結果放入新的陣列中。ar...