我有一个函数,将数组作为输入。
如何修改它以与变量参数以及数组一起使用。
例如,我希望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]))
最佳答案
您可以将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))