小编shn*_*shn的帖子

使用扩展运算符从ES6中的对象中删除目标参数

我正在尝试使用传播运算符从对象中删除属性。传统上,我这样做:

const original_object = { prop1 : 'string1', prop2: 'string2' };
const { prop1, ...rest } = original_object;
Run Code Online (Sandbox Code Playgroud)

在上述情况下,移除的属性(prop1)将不再存在于其余对象中。

假设有一个我想删除的更复杂的属性,例如对象中的一个对象。

const original_object = {
    prop1: 'string1'
    prop2: {
        prop3: 'string3',
        prop4: 'string4'
    }
}
const { *remove prop3 of prop2 only here*, ...rest} = original_object;
console.log(prop3); // => 'string3';
Run Code Online (Sandbox Code Playgroud)

什么是最优雅/最简单的解决方案?我希望除了对象之一之外prop3的所有东西都prop2以完全相同的结构包含在对象中。

javascript typescript spread-syntax

5
推荐指数
1
解决办法
42
查看次数

标签 统计

javascript ×1

spread-syntax ×1

typescript ×1