陣列和物件的結構
阿新 • • 發佈:2021-11-27
陣列的結構
單行結構
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