Roh*_*mar 2 javascript ecmascript-6
我有一个将数组作为输入的函数.如何修改它以使用变量参数和数组.例如,我想要arrSum(1,2,3) === arrSum([1,2,3])返回,true即两者都应该返回6
const arrSum = arr => arr.reduce((a,b) => a+b,0)
console.log(arrSum([1,2,3]))Run Code Online (Sandbox Code Playgroud)
Nen*_*car 10
您可以使用spread syntax与concat.在第一种情况下,你将获得带有另一个数组的数组,在第二种情况下只是一个参数数组,但[].concat(...arr)你将把它转换为两种情况的参数数组.
const arrSum = (...arr) => [].concat(...arr).reduce((a, b) => a + b, 0)
console.log(arrSum([1, 2, 3]))
console.log(arrSum(1, 2, 3))
console.log(arrSum([1, 2, 3], [4], 5))Run Code Online (Sandbox Code Playgroud)