一种方法是使用参数。我可以循环参数数组并返回所有传递的参数的总和。
function sum(){
var sum =0;
for(var i=0;i<arguments.length;i++){
sum += arguments[i];
}
return sum;
}
sum(1,2); // returns 3
sum(1,2,3); // returns 6
有没有其他方法可以不使用循环来做到这一点?
其他人通过冗余复制提供了答案arguments
到一个马上就要被扔掉的数组。
相反,您可以一步完成所有操作:
function sum() {
return Array.prototype.reduce.call(arguments, function(a, b) {
return a + b;
}, 0);
}
如果使用 ES2015 是一个选项,你可以有更好的(主观)实现:
const sum = (...args) => [...args].reduce((a, b) => a + b, 0);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)