4.12 数组和对象的解构

解构赋值

 -Object -Array -里面的每一个成员,都可以看成是一个独立的实体

 -数组的解构

 -对象的解构

  -结构的属性名称与变量名称必须一致,而且顺序不太重要

let arr = ["adam","john"];
let [adam , john] =arr;
//等于下面这种写法
//let adam=arr[0];
//let john=arr[1];

console.log([adam , john])//['adam', 'john']

//变量赋值

let [fisrtName,lastName]="xu da".split(" ");
console.log(fisrtName,lastName);//xu da

let arr2= [1,2,3,4,5,6];
let [first,,,,f,f1]=arr2;
console.log(first,f,f1);//1 5 6

let [a,b,c] = "abc";
console.log(a,b,c);//a b c

let user ={} ;
[user.fisrtName,user.lastName]="ming xia".split(" ")
console.log(user);//{fisrtName: 'ming', lastName: 'xia'}

//交换2个变量的值
let guest = "adam";
let admin = "Ptet";
[guest,admin] = [admin,guest];
console.log(guest,admin) //Ptet adam
//...剩余的
let[one,two,...numbers]=[1,2,3,4,5,6,7,8];
console.log(one,two,numbers);//1 2 (6) [3, 4, 5, 6, 7, 8]

//let[aa,bb] =[];
//console.log(aa,bb);//undefined undefined
//可以给他设置一个空文本 
let[aa="1",bb="2"] =[];
console.log(aa,bb);//1 2


let options={
    title:"Menu",
    width:100,
    height:200
}
//let {width,height,title}=options
//console.log(width,height,title);//100 200 Menu
//对象解构,位置并不重要,重要的是属性名必须保持一样

let {width:w,height:h,title:t}=options
//可以改名 只要属性名对的上,想取谁取谁
console.log(w,h,t)//
let{title}=options;
console.log(title)//Menu

let obj ={
    size:{
        width:100,
        height:200
    },
    items:["Cake","Apple"],
    extra:true
}
let{
    size:{
        width,
        height
    },
    items:[item1,item2],
    extra

} =obj
console.log(width,height,item1,item2,extra)
//100 200 Cake Apple true

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值