【发布时间】:2017-01-10 10:16:55
【问题描述】:
没有具体反应,所以希望可以问,但我认为扩展运算符会使数组变平?
因此,使用以下对 args 求和的 sum 函数,您可以使用 .apply 传入值:
function sum() {
return arguments.reduce((total, number) => total + number, 0);
}
var values = [2, 4, 8, 12, 16];
console.log(sum.apply(null, values));
我认为您可以只添加函数并使用扩展运算符来展平数组,以便可以使用调用。 (我知道你不会在这种情况下使用 call ,但我只是感到惊讶,因为我认为传播使数组变平:
function sum() {
return [...arguments].reduce((total, number) => total + number, 0);
}
var values = [2, 4, 8, 12, 16];
console.log(sum.call(null, values));
这将返回字符串02,4,8,12,16
【问题讨论】:
标签: javascript arrays ecmascript-6