簡體   English   中英

對 Object.property.property 的解構賦值

[英]Destructuring assignment to Object.property.property

在下面的例子中,解構賦值可以用作const {key1, key2, key3} = obj; .
但是,是否可以使用解構賦值直接將key1key2key3 (不循環)分配給它們的newValue

const obj = {
  key1: {oldValue: '1', newValue: '2'},
  key2: {oldValue: '3', newValue: '4'},
  key3: {oldValue: '5', newValue: '6'},
}


const key1 = obj.key1.newValue;
const key2 = obj.key2.newValue;
const key3 = obj.key3.newValue;

它很丑 - 但它必須是:p

 const obj = { key1: {oldValue: '1', newValue: '2'}, key2: {oldValue: '3', newValue: '4'}, key3: {oldValue: '5', newValue: '6'}, }; const { key1:{newValue:key1} = {}, key2:{newValue:key2} = {}, key3:{newValue:key3} = {}, key4:{newValue:key4} = {} } = obj; console.log(key1, key2, key3, key4);

這當然不是沒有循環,但可能仍然是一種簡短的編寫方式:

 const obj = { key1: {oldValue: '1', newValue: '2'}, key2: {oldValue: '3', newValue: '4'}, key3: {oldValue: '5', newValue: '6'} }; const {key1,key2,key3}=Object.fromEntries(Object.entries(obj).map(([k,v])=>[k,v.newValue])) console.log(key1,key2,key3);

 const obj = { key1: {oldValue: '1', newValue: '2'}, key2: {oldValue: '3', newValue: '4'}, key3: {oldValue: '5', newValue: '6'}, } const {key1: {newValue:key1}, key2: {newValue:key2}, key3: {newValue:key3}} = obj; console.log(key1, key2, key3);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM