1 回答
TA贡献1909条经验 获得超7个赞
与其删除,不如返回一个没有要删除的属性的对象。
您可以解构要删除的属性,然后使用剩余参数语法将其他属性收集到变量中。在此之后,您只需要返回包含除您要删除的属性之外的所有属性的变量。
const modifiedItems = this.items.map(
({ created, removed, ...rest }) => rest
);
以下代码片段显示了一个示例:
const arr = [
{ removed: 1, created: 1, a:2, b: 2, c: 3},
{ removed: 1, created: 1, a:2, b: 2, c: 3},
{ removed: 1, created: 1, a:2, b: 2, c: 3},
];
const modifiedItems = arr.map(
({ created, removed, ...rest }) => rest
);
console.log(modifiedItems);
编辑:
在您的例子中,this.items
是一个包含嵌套数组的数组。因此,要从嵌套数组内的对象中删除属性,您还需要映射每个嵌套数组。
以下代码片段显示了一个示例:
const items = [
[ { removed: 1, created: 1, a: 2, b: 2, c: 3 } ],
[
{ removed: 1, created: 1, a: 2, b: 2, c: 3 },
{ removed: 1, created: 1, a: 2, b: 2, c: 3}
]
];
const modifiedItems = items.map(subArr => {
return subArr.map(({ created, removed, ...rest }) => rest)
});
console.log(modifiedItems);
添加回答
举报