1 回答

TA貢獻1844條經驗 獲得超8個贊
簡短的回答:是的,這是不同的。您的化簡器需要在函數中返回一個值。參數的值等于調用最后一個 reduce 函數調用的最后一次返回。在第一次調用中,該參數等于對 reduce 函數調用(即 )的第二個參數中指定的初始值。currentcurrent[]
顯式返回支持的版本也可以解決此問題:current
function flatten(args) {
return args.reduce((current, i) => {
return current.concat(i);
}, []);
}
如果沒有大括號,返回將隱式返回由 concat 表達式(一個新數組)返回的值。
有關箭頭函數如何工作的更多信息,請查看 MDN 的箭頭函數一文。具體來說,本節討論它是如何暗示的:
(param1, param2, …, paramN) => expression
// equivalent to: => { return expression; }
以及本節:
// When the only statement in an arrow function is `return`, we can remove `return` and remove
// the surrounding curly brackets
elements.map(element => element.length); // [8, 6, 7, 9]
添加回答
舉報