本文介绍了具有多个累积量的Javascript函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个将数组作为输入的函数. 我如何修改它以与变量参数以及数组一起使用. 例如我希望arrSum(1,2,3) === arrSum([1,2,3])返回true,即两个都应返回6
I have an function that takes an array as an input. How can I modify it to work with variable arguments as well as arrays. For example I want arrSum(1,2,3) === arrSum([1,2,3]) to return true i.e. both should return 6
const arrSum = arr => arr.reduce((a,b) => a+b,0) console.log(arrSum([1,2,3]))
推荐答案
您可以将spread syntax与concat结合使用.在第一种情况下,您将获得内部带有另一个数组的数组,在第二种情况下,您将获得仅一个参数数组,但是对于[].concat(...arr),您将在两种情况下都将其转换为参数数组.
You can use spread syntax with concat. In first case you will get array with another array inside and in second case just an array of arguments but with [].concat(...arr) you will transform that to array of arguments for both cases.
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))
更多推荐
具有多个累积量的Javascript函数
发布评论