-
什么是数组的解构赋值?
-
解构赋值是ES6中新增的一种赋值方式, 解构赋值就是将数组中的值取出来赋值给变量
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); console.log("b = " + b); console.log("c = " + c);
-
-
数组解构赋值的注意点
-
注意点1: 在数组解构赋值中, 等号左边的格式必须和等号右边的格式一模一样, 才能完全解构
// let [a, b, c] = [1, 3, 5]; // 完全解构 // let [a, b, c] = [1, 3, [2, 4]]; // c = 2 , 4 let [a, b, [c, d]] = [1, 3, [2, 4]]; // 完全解构 console.log("a = " + a); console.log("b = " + b); console.log("c = " + c); console.log("d = " + d);
-
注意点2: 在数组解构赋值中, 左边的个数小于右边的个数时, 会给变量正常赋值, 但数组解构不完全
let [a, b] = [1, 3, 5]; console.log("a = " + a); // a = 1 console.log("b = " + b); // b = 3
-
注意点3: 在数组解构赋值中, 左边的个数大于右边的个数时, 未赋值的变量中存储的是undefined
let [a, b, c] = [1]; console.log("a = " + a); // a = 1 console.log("b = " + b); // b = undefined console.log("c = " + c); // c = undefined
-
注意点4: 在数组的解构赋值中, 如果左边的个数大于右边的个数, 那么我们可以给左边指定默认值
let [a, b = 666, c = 888] = [1]; console.log("a = " + a); // a = 1 console.log("b = " + b); // b = 666 console.log("c = " + c); // c = 888
-
注意点5: 在数组的解构赋值中, 如果左边的个数小于或等于右边的个数, 那么我们给左边指定的默认值会被覆盖
let [a, b = 666, c = 888] = [1, 3, 5]; console.log("a = " + a); // a = 1 console.log("b = " + b); // b = 3 console.log("c = " + c); // c = 5
-
注意点6: 在数组的解构赋值中, 还可以使用ES6中新增的扩展运算符把剩余的数据打包成数组
-
如果使用了扩展运算符, 那么扩展运算符只能写在最后
ES6中新增的扩展运算符: ... let [a, ...b] = [1, 3, 5]; let [...a,b] = [1, 3, 5]; // 报错 console.log("a = " + a); // a = 1 console.log(b); // [3, 5]
-
-
32-数组解构赋值
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...