解构赋值(对象和数组)
发布日期:2022-02-12 16:06:55
浏览次数:7
分类:技术文章
本文共 1106 字,大约阅读时间需要 3 分钟。
解构赋值
解析一个数据结构并赋值,可以快速的从对象或数组中取出需要的内容,对象使用大括号,数组使用中括号
解构对象
之前从对象中取到内容的方式
let obj = { name:"张三", age:12, sex:"男",}let name = obj.name;let age = obj.age;
解构的方式:
let obj = { name:"张三", age:12, sex:"男",}let { name} = obj;/*表示从obj中获取name属性,并赋值给声明的name变量*/
使用说明:
- obj必须是一个对象
- obj中必须有name属性
还可以一次性解构多个变量:
let obj = { name:"张三", age:12, sex:"男",}let { name,age} = obj; // 声明并赋值了两个变量
可以将变量名换成一个别的名字:
let obj = { name:"张三", age:12, sex:"男",}let { name:username,age:a} = obj; // 将obj的name属性值赋值给username变量,age属性值赋值给变量a
多级解构:
let obj = { name:"张三", age:12, sex:"男", wife:{ name:"翠花", age:11, }}let { wife} = obj;let { name} = wife;// 写为一行let { wife:{ name:wname}} = obj;
解构数组
let arr = [1,2,3];let [num1] = arr; // 从数组中拿出第一个元素赋值给num1变量
使用说明:
解构数组的时候是按顺序取出数组中的值,解构一个变量,只能拿到第一个元素
解构多个元素:
let arr = [1,2,3];let [num1,num2] = arr; // num1 = arr[0] num2 = arr[1]
多维数组解构:
let arr = [1,2,3,[4,5,6]];let [a,b,c,[aa,bb]] = arr;console.log(aa,bb); // 4 5
利用结构交换两个变量的值:
let num1 = 1;let num2 = 2;[num2,num1] = [num1,num2]
转载地址:https://blog.csdn.net/weixin_46663768/article/details/105129117 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年04月04日 22时36分56秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
#力扣 MySQL196. 删除重复的电子邮箱 @FDDLC
2019-04-27
#力扣MySQL 1179. 重新格式化部门表 @FDDLC
2019-04-27
#SQLServer存储过程:求n的阶乘 @FDDLC
2019-04-27
#SQLServer自定义函数:求1到n的和 @FDDLC
2019-04-27
#MySQL自定义函数:求1到n的和 @FDDLC
2019-04-27
#MySQL自定义存储过程:求n的阶乘 @FDDLC
2019-04-27
#图片上传、实时预览(无刷新提交表单):超简单的实现 @FDDLC
2019-04-27
#SpringMVC:如何给首页值参 #首页无法传参 #首页控制器 @FDDLC
2019-04-27
#力扣 LeetCode1827. 最少操作使数组递增 @FDDLC
2019-04-27
#力扣MySQL:197. 上升的温度 @FDDLC
2019-04-27
Seekbar 属性 记录
2019-04-27
textview设置独特字颜色和背景颜色
2019-04-27
背景+带边框(圆角)的textview怎么设置
2019-04-27
第二技能
2019-04-27
算法的设计
2019-04-27
WebRTC[23]-Licode与Mediasoup的简单对比
2019-04-27
RTP包头结构分析
2019-04-27
LiveNVR中ONVIF预制位相关操作接口
2019-04-27