ES6 数组的解构赋值

白昼怎懂夜的黑 提交于 2020-03-24 23:34:45

数组的解构赋值

将数组的值,或者对象的属性,提取到不同的变量中

const arr=[1,2,3,4];
let [a,b,c,d]=arr;

 

 

更复杂的匹配规则:

const arr=[1,2,[3,4],[5,6,7]];
let [,b]=arr;
let [,,c,d]=arr;
let [,,,[,,g]]=arr;

 

 

扩展运算符:

...

let arr1=[1,2];
let arr2=[3,4];
let arr3=[5,6];
let arr4=[arr1,arr2,arr3];//三个数组
let arr5=[...arr1,...arr2,...arr3];//合并数组的值

 

 

数组的解构赋值与扩展运算符结合

const arr=[1,2,3,4,5];
let [a,b,c]=arr;
let[a2,b2,...c2]=arr;//取到剩下的所有值

 

 

默认值

没有匹配到的值默认为undefined

const arr=[1,undefined,undefined];
let [a,b,c,d]=arr;

 

 

如果是undefined,可以在解构赋值时单独再赋值(必须是undefined)

const arr=[1,undefined,undefined,null];
let [a,b=2,c=3,d=4]=arr;

 

 

交换变量

let a=10,b=20;
[a,b]=[b,a];//交换数据

 

 

接收多个 函数返回值:

function getInfo(id){
    //ajax...
    
    return [
        "success",
        {
            name:"cyy",
            age:18,
            id:id
        },
        "请求成功"
    ];
}
const [status,info,res]=getInfo(123);

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!