题目描述
函数 useArguments 可以接收 1 个及以上的参数。请实现函数 useArguments,返回所有调用参数相加后的结果。本题的测试参数全部为 Number 类型,不需考虑参数转换。
示例1
输入
1, 2, 3, 4
输出
10
arguments能获得函数对象传入的参数组,类似与一个数组,能够通过length获取参数个数,能通过下标获取该位置的参数,但是它不能使用forEach等方法。
1.Array.prototype.slice.call(arguments)
function useArguments() {
var arr=Array.prototype.slice.call(arguments);
return eval(arr.join('+'));
}
2.arguments.length
function useArguments() {
var sum = 0;
for(var i = 0; i < arguments.length; i++){
sum += arguments[i];
}
return sum;
}
3.reduce
function useArguments() {
var result = Array.prototype.reduce.call(arguments,function(a,b){return a+b;});
return result;
}
4.ES6
var useArguments = (...args) => args.reduce((a,b) => a+b)