解题
我们都知道,每个函数都会有arguments对象,该对象包含了所有的执行函数时候的参数,但这是一个伪数组,只要把它变成一个真正的数组,就可以用数组的方法如ruduce等来求和
那么,如何把一个伪数组转变成真正的数组呢?这里有个方法就是:Array.prototype.slice.call(arguments)
//答案
function useArguments() {
var newArr = Array.prototype.slice.call(arguments)
let sum = newArr.reduce((pre,cur)=>pre+cur)
return sum;
}
ES6 - 展开运算符
function useArguments() {
var newArr = [...arguments];
let sum = newArr.reduce((pre,cur)=>pre+cur)
console.log(sum);
}
useArguments(1,2,3,4,5,6,7,8);