ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

数组和对象的结构

2021-11-26 21:00:10  阅读:146  来源: 互联网

标签:name 对象 age sex Lee let 数组 Mr 结构


数组的结构

单行结构

 let [name,age,sex]=['Mr.Lee',100,'男'];

双行结构

let info=['Mr.Lee',100,'男'];  //数组赋值
let [name,age,sex]=info;   //数组结构赋值

数组层次需要匹配

let [name,[age,sex]]=['Mr.Lee',[100,'男']];
用逗号做为占位符 不赋值
let [,,sex]=['Mr.Lee',100,'男'];
...var语法,将没有赋值的内容都赋值给这个变量
 let [name, ...other]=['Mr.Lee',100,'男'];

对象的结构

 1 let obj={
 2     name:'Mr.Lee',
 3     age:100
 4 };
 5 let {name,age}=obj; 或  ({name,age}=obj);
 6 
 7 let obj={
 8     name:'Mr.Lee',
 9     age:100
10 },name='Mr.Wang';   //被替代
11 ({name,age}=obj); //用()不用get的原因,避免临时性死区
对变量结构设置一个默认值  没有赋值时输出默认值
let obj={...}
let {name,age,sex='女'}=obj;
通过赋值的方式更改变量名
let {name:myname,age:myage}=obj;  //name将失效
console.log(myname);
console.log(myage);
在对象字面量里,嵌套了对象 结构时也用相同的方法
 1 let obj={
 2     name:'Mr.Lee',
 3     age:100,
 4     info:{
 5         id:1,
 6         sex:'男'
 7     }
 8 };
 9 let {info:{id,sex}}=obj;
10 console.log(id);
11 console.log(sex);

简写模式

let {name,age}={name:'Mr.Lee',age:100};

常用的结构

如果函数的返回值是一个数组或对象,直接将函数进行赋值结构  
function fn(){
    return ['Mr.Lee',100,'男'];
}
let [name,age,sex] = fn();
console.log(name);

function fn2(){
    return{
        name:'Mr.Lee',
        age:100,
        sex:'男' 
    };
}
let [name,age,sex] = fn2(); //返回的是对象
console.log(name);
当函数进行传参的时候,可以进行数组和对象字面量方式的传参;
1 function fn([name,age,sex]){
2     console.log(name);
3 }
4 fn(['Mr.Lee',100,'男']);
5 function fn2([name,age,sex]){
6     console.log(name);
7 }
// 除了对象和数组可以使用结构,字符串类型已可以使用结构
1 let[x,y,z]='ABC';
2 console.log(x);   //A
3 
4 let{length:len}='ABC';  //长度
5 console.log(len);  //输出3

 

 

标签:name,对象,age,sex,Lee,let,数组,Mr,结构
来源: https://www.cnblogs.com/Nice0115/p/15601632.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有