我不熟悉ES6破坏。我有一个包含另一个对象的对象。我想存储嵌套对象中的某些值。
例如-
z = {g: 1, h: 2, i: {d1:5, d2:6, d3:7}}
当我这样做
let { g, i : {d1, d3}, ...less } = z
less
变量仅存储h
,而不存储d2
。
有没有办法做到这一点
less = {h, i : {d2}}
答案 0 :(得分:0)
不,没有。你能做的就是
let { g, i: { d1, d3, ...less2 }, ...less } = z
let less = { ...less, i: less2 };
这会提取剩余部分,然后将它们合并在一起,同时保留形状。
答案 1 :(得分:0)
不,很遗憾,这不可能。
但是,您可以通过第二次剩余价差从i中提取缺失值:
let z = {g: 1, h: 2, i: {d1:5, d2:6, d3:7}};
let { g, i : {d1, d3, ...i_less}, ...rest_less } = z;
let less = { i: i_less, ...rest_less };
console.log(less)
答案 2 :(得分:0)
这是我的方式,希望对您有所帮助。
let z = {
g: 1,
h: 2,
i: {
d1:5,
d2:6,
d3:7
}
}
let {g, i: {d1, d3, ...less1}, ...less2} = z
let less = {
i: less1,
...less2,
}
console.log(less); // output: {h: 2, i:{d2:6}}