我有一个函数,将数组作为输入。
如何修改它以与变量参数以及数组一起使用。
例如,我希望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 syntaxconcat一起使用。在第一种情况下,您将获得内部带有另一个数组的数组,在第二种情况下,您将获得仅一个参数数组,但是使用[].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))

07-26 01:27