【发布时间】:2019-10-27 12:44:47
【问题描述】:
我正在尝试使用扩展运算符从对象中删除一个属性。传统上我是这样做的:
const original_object = { prop1 : 'string1', prop2: 'string2' };
const { prop1, ...rest } = original_object;
在上述情况下,被移除的属性(prop1)将不再存在于 rest 对象中。
假设我想删除一个更复杂的属性,例如对象中的一个对象。
const original_object = {
prop1: 'string1'
prop2: {
prop3: 'string3',
prop4: 'string4'
}
}
const { *remove prop3 of prop2 only here*, ...rest} = original_object;
console.log(prop3); // => 'string3';
最优雅/最简单的解决方案是什么?我希望除prop2 中的prop3 之外的所有内容都包含在对象中,并且结构完全相同。
【问题讨论】:
标签: javascript typescript spread-syntax