gpt4 book ai didi

javascript - 如何使用对象解构展开运算符删除多个对象属性

转载 作者:行者123 更新时间:2023-11-30 11:05:38 25 4
gpt4 key购买 nike

我在我的缩减器中使用 Map/Associative array 通过字符串 ID 存储对象。

当我需要将新项目放入 map 时,我正在使用这种结构

rows: { ...state.rows, [row.id]: row }

当我需要通过 Id 删除项目表单映射时,我正在使用它。

const  { [rowId]: deleted, ...rows } = state.rows;

比起在可变行中,我有 map 和名称为 rowId 的属性丢失了。

我想知道如果我在数组中有多个 ID 并且我需要通过 ... 运算符和解构将它们全部删除,我该怎么做。

const contentIds = ['id1','id2','id3']

// something like ???
const {...[ids], ...rows}

是的,我可以为此编写 lamda 或使用省略 lodash。但如果可能的话,只是有趣。

非常感谢

最佳答案

您可以使用对象减少键。

var object = { id: 1, id1: 2, id2: 3 },
contentIds = ['id1', 'id2', 'id3'],
result = contentIds.reduce((o, k) => ({ [k]: _, ...r } = o, r), object);

console.log(result);

关于javascript - 如何使用对象解构展开运算符删除多个对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55743265/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com