-3 javascript arrays nested object destructuring
我有这个嵌套的对象,它也包含一个数组。
result:{
"a": [{ "b": { "c": 1,
"d": 2,
"e": 3
},
"f": 0
}]
}
Run Code Online (Sandbox Code Playgroud)
如果我需要d的值,如何使用ES6对该对象进行解构?
对象解构符号就像对象文字符号一样,位于等号的另一侧。因此,您只编写了要创建所需的结构的代码d,然后将d变量/常量名称放在此处。
您似乎向我们展示了对象的内容(例如,它有一个名为的属性result),因此:
const obj = {
result: {
"a": [{
"b": {
"c": 1,
"d": 2,
"e": 3
},
"f": 0
}]
}
};
const {
result: {
"a": [{
"b": {
d
}
}]
}
} = obj;
console.log(d);Run Code Online (Sandbox Code Playgroud)
我并不是说我会在这里使用解构。实际上,我可能不会。但是你可以。:-)
如果result是包含对象的变量,则只需删除该层:
const obj = {
"a": [{
"b": {
"c": 1,
"d": 2,
"e": 3
},
"f": 0
}]
};
const {
"a": [{
"b": {
d
}
}]
} = obj;
console.log(d);Run Code Online (Sandbox Code Playgroud)
当然,您的问题是d要从中的第一个条目开始的a。您可以将其概括为这样的条目n(我回到假定result是对象的一部分):
const obj = {
result: {
"a": [
{
"b": {
"c": 1,
"d": 2,
"e": 3
},
"f": 0
},
{
"b": {
"c": 1,
"d": 4, // ***
"e": 3
},
"f": 0
}
]
}
};
const n = 1; // Which entry in `a` to get
const {
result: {
"a": {
[n]: {
"b": {
d
}
}
}
}
} = obj;
console.log(d);Run Code Online (Sandbox Code Playgroud)
我将对象分解用于a而不是数组分解,并具有计算出的属性名称。我可以这样做,因为数组是对象。
数组解构符号也就像数组文字符号一样。:-)
| 归档时间: |
|
| 查看次数: |
98 次 |
| 最近记录: |