有一個我正在使用的練習,要求創建一個嵌套數組到對象中的函數。將嵌套數組轉換爲具有減少的對象
例輸入:[['make', 'Ford'], ['model', 'Mustang'], ['year', 1964]]
預期輸出:{ make: 'Ford', model: 'Mustan', year: 1969 }
我嘗試過寫這樣的:
function fromListToObject(array) {
let obj = {};
for (var i = 0; i < array.length; i++) {
obj[arr[i][0]] = arr[i][1];
}
}
但沒有工作,所以我找到了另一個解決方案,它使用的降低:
function fromListToObject(array) {
return array.reduce(function(acc, curr) {
acc[curr[0]] = curr[1];
return acc;
}, {});
}
現在,我想我明白了減少如何工作,但從來沒有真正搞亂它的對象,如何acc[curr[0]]
是否工作?它開始作爲一個空的對象,但我很困惑,什麼acc
是在第一次迭代之後。任何人都可以解釋嗎?
在此先感謝!
什麼不適用於第一個?你有錯誤嗎?如果不是,結果如何? –