数组解构赋值

  1. 什么是数组的解构赋值?
    解构赋值是ES6中新增的一种赋值方式;

  2. 数组解构赋值的注意点

let arr = [1, 3, 5];
// let a = arr[0];
// let b = arr[1];
// let c = arr[2];

let [a, b, c] = arr;

console.log("a = " + a); // a = 1
console.log("b = " + b); // b = 3
console.log("c = " + c); // c = 5

2.1 在数组的解构赋值中, 等号左边的格式必须和等号右边的格式一模一样, 才能完全解构

let [a, b, c] = [1, 3, 5];
console.log("a = " + a); // a = 1
console.log("b = " + b); // b = 3
console.log("c = " + c); // c = 5


let [a, b, c] = [1, 3, [2, 4]];
console.log("a = " + a); // a = 1
console.log("b = " + b); // b = 3
console.log("c = " + c); // c = 2,4


let [a, b, [c, d]] = [1, 3, [2, 4]];
console.log("a = " + a); // a = 1
console.log("b = " + b); // b = 3
console.log("c = " + c); // c = 2
console.log("d = " + d); // d = 4

2.2 在数组的解构赋值中, 左边的个数可以和右边的个数不一样

let [a, b] = [1, 3, 5];
console.log("a = " + a); // a = 1
console.log("b = " + b); // b = 3

2.3 在数组的解构赋值中, 右边的个数可以和左边的个数不一样

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

2.4 在数组的解构赋值中,如果右边的个数和左边的个数不一样, 那么我们可以给左边指定默认值

let [a, b = 888, c = 999] = [1];
console.log("a = " + a); // a = 1
console.log("b = " + b); // b = 888
console.log("c = " + c); // c = 999

2.5 在数组的解构赋值中, 如果左边的个数和右边的个数不一样, 那么如果设置默认值会被覆盖

let [a, b = 666] = [1, 3, 5];
console.log("a = " + a); // a = 1
console.log("b = " + b); // b = 3

2.6 在数组的解构赋值中, 还可以使用ES6中新增的扩展运算符来打包剩余的数据

在数组的解构赋值中, 如果使用了扩展运算符, 那么扩展运算符只能写在最后 (ES6中新增的扩展运算符: …)

let [a, b] = [1, 3, 5];
console.log("a = " + a); // a = 1
console.log("b = " + b); // b = 3

let [a, ...b] = [1, 3, 5];
console.log("a = " + a); // a = 1
console.log("b = " + b); // b = 3,5
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值