具有多个累积量的Javascript函数 [英] Javascript function with multiple agruments

查看:83
本文介绍了具有多个累积量的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 syntaxconcat结合使用.在第一种情况下,您将获得内部带有另一个数组的数组,在第二种情况下,您将获得仅一个参数数组,但是对于[].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函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆