剩余参数语法允许咱们将一个不定数量的参数表示为一个数组。
老样子,来 see see。
function sumArgs(...numbers) { console.log(numbers); // [5, 6] return numbers.reduce((sum, number) => sum + number);} sumArgs(5, 6); // => 11
...numbers是一个剩余参数,它将成为一个由剩余参数组成的真数组[5,6]。由于numbers 是一个数组,所以就可以使用数组自有方法reduce(与类数组对象的参数相反)。
如果不想在剩余参数中收集所有参数,则可以组合常规参数和剩余参数。
function multiplyAndSumArgs(multiplier, ...numbers) { console.log(multiplier); // 2 console.log(numbers); // [5, 6] const sumArgs = numbers.reduce((sum, number) => sum + number); return multiplier * sumArgs;} multiplyAndSumArgs(2, 5, 6); // => 22
multiplier 是一个常规参数,它获取第一个参数的值。然后剩下的参数...numbers 接收剩余的参数。
网友评论