欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

(对象、数组)解构赋值

程序员文章站 2022-07-02 09:47:00
...

解构赋值

解析一个结构并给变量赋值,就是快速的从对象或数组中拿到对应的数据

解构对象

  • 使用{}解构对象
  • 语法:{变量}=对象
    • 使用的时候可以一次解析多个
    • PS:这个变量必须是对象中的某一个成员,否则拿到的就是undefined
var obj ={
name:"Jack",
age:18,
gender:"男"
}
//可以解析一个
let {name}=obj;//等价于 let name = obj.name;
console.log(name);//="Jack"

//也可以解析多个
let {name,age,gender}=obj;
console.log(name);//="Jack"
console.log(age);//=18
console.log(gender);//="男"

  • 在解构的时候赋值一个新名字
    • 语法:{对象中的成员名称:新变量名}=对象
var obj ={
name:"Jack",
age:18,
gender:"男"
}
let {name:a}=obj;//等价于 let a = obj.name;
console.log(a);//=>"Jack"

//混合使用
let {name:a,age,gender:b}=obj;
console.log(a);//=>"Jack"
console.log(age);//=>18
console.log(b);//=>"男"

  • 在解构的时候可以嵌套对象使用
var obj ={
    name:"Jack",
    obj2:{
        name:"Rose",
        age:18,
        obj3:{
            name:"child",
            age:2
            }
        }
}
//获取obj.obj2.name
let {obj2:{name:a}}=obj;
console.log(a);//=>"Rose"

//获取obj.obj2.age和obj.obj2.obj3.age
let {obj2:{age:a,obj3:{age:b}}}=obj;
console.log(a);//18
console.log(b);//2

解构数组

  • 使用[]结构数组
  • 语法:[变量名]=数组
  • 在解构的时候是按照索引对应的,可以同时解析多个
var arr=["中国","北京","海淀","永丰"];

let [a,b]=arr;
console.log(a);//="中国"
console.log(b);//="北京"

  • 可以嵌套使用
var arr=["中国","北京","海淀","永丰"["首都""帝都"]];

let [a,b,c,d,[e,f]]=arr;
console.log(a);//="中国"
console.log(b);//="北京"
console.log(c);//="海淀"
console.log(d);//="永丰"
console.log(e);//="首都"
console.log(f);//="帝都"

相关标签: 前端 JS js