var arr = [1,2,3];
var max = arr.reduce(function(a, b) {
return Math.max(a, b);
});
我正在通過MDN文檔REDUCE函數,在上面的代碼片段中,我只是想知道函數(a,b)做了什麼。它是如何工作將它經歷這樣JavaScript中的Array.prototype.reduce函數
function (1,2)
{
}
function(2,3)
{
}
function(3,1)
{
}
而且我發現多了一個例子總結了陣列
var numbers = [0, 1, 2, 3];
var result = numbers.reduce(function(accumulator, currentValue) {
return accumulator + currentValue;
},0);
console.log(result);
所以在上面的例子中的所有元素,
- 如何函數立即知道它的第一個參數是一個累加器?
- 第一次迭代什麼是累加器和當前值(我假設函數(0,1))
- 如果我沒有給出初始值(這裏是0),會發生什麼情況。這個初始值是否會在第一次迭代中存儲到累加器中?
有人可以幫助我理解這個功能嗎?
你試過閱讀'reduce'方法的文檔?它回答你的問題。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce?v=a – Barmar
「我正在通過MDN文檔REDUCE函數」,所以我認爲這是確切的參考。似乎這個問題更多的是「reduce」的實現是什麼?也許? – msanford
'[1,2,3] .reduce((a,b)=> {console.log(「a&b =」,a,b); return Math.max(a,b);})'IOW :(1,2)(2,3)= 3 – Keith