ES6中数组解构赋值多种情况详解

话不多说看代码

// (1)普通解构赋值
let arr=['1','2']
let [str1,str2]=arr
console.log(str1,str2) // 1,2

// (2)我只需要取其中某一部分的情况

let arr=['1','2','3','4']
let [str1, , str2]=arr // 跳过谁使用逗号隔开
console.log(str1,str2) // 1,3

// (3)字符串解构赋值
let zifu='abcde' 
let [str1,,str2]=zifu // 同(2)
console.log(str1,str2) // a,c

// (4) 对数据为Object进行解构赋值
let user={names:'c',surnames:'d'};
[user.names,user.surnames]=['a','b'] // 注意对对象中已有属性进行赋值时,不能使用关键字进行声明了
console.log(user) //a,b

//(5) 对循环进行解构赋值
let user={names:'c',surnames:'d'};
for (let[key,val]  of Object.entries(user)) { //没看懂可以看下面注释在结合(1)进行看
  console.log(`键:${key},值:${val}`)
}

/**
 * Object.entries() 可以把一个对象的键值以数组的形式遍历出来,
 * 结果和 for...in 一致,但不会遍历原型属性
 * 
 * const obj = { foo: 'bar', baz: 'abc' }; 
 * console.log(Object.entries(obj));  // [['foo', 'bar'], ['baz', 'abc']]
 */

//(6) 结合 ...运算语法 
let arr=['a','b','c','d','e','f']
let [str1,str2,...strArr]=arr //...strArr 剩余的值将存放strArr中
console.log(str1,str2,strArr) // a,b,["c", "d", "e", "f"]

//(7) 如果数据过少 或者没有, 解构出来的是undefined ,可以使用参数默认值
let arr=[]
let [str1='参数默认值',str2,...strArr]=arr 
console.log(str1,str2,strArr) // '参数默认值', undefined, []

后面会持续更新关于ES6中的一些语法,可以关注一下

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

超帅不是很帅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值