zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Es6参数展开&剩余参数

ES6amp 参数 展开 剩余
2023-06-13 09:12:14 时间

Es6中我们可以通过...+变量的方式存储函数剩余的参数,该变量是包含剩余参数的数组

function sum(a,...num){
    console.log(a);
    console.log(num);
}
sum(1,2,3,4,5,7)

可以看到sum函数只明确接收一个a ,其他的参数不确定要传多少,这里就通过...num的形式使num接收剩余的参数

在es6之前我们接收不确定参数时我们通过arguments

function sum(){
    console.log(arguments)
}
sum(1,2,3,4,5,7)

有了es6这个特性后我们可以做如下案例 求一个数和任意数的和

function sum(a,...num){
    console.log(num.reduce((tmp,item)=>tmp+item)+a)
}
sum(10,10,10,10,10,10)//60

注意剩余参数必须是最后一个

...还可应用到数组 ...应用到数组会将数组展开

let arr =[1,2,3]

console.log(...arr)
//1 2 3

由此我们可以想到...可以直接拼接数组

//以前的方法
let arr =[1,2,3]
let arr2 = [4,5,6]
console.log(arr.concat(arr2));//[1,2,3,4,5,6]
//...展开数组
let arr3 = [7,8,9]
let arr4 = [10,11,12]
console.log([...arr3,...arr4]);//[7,8,9,10,11,12]

如果要传递一个数组给函数,并且这个数组需要遍历

let arr =[1,2,3]
function sum(a,b,c){
    console.log(a+b+c);
}
sum(...arr);