gpt4 book ai didi

javascript - “Removing”来自对象的多个属性,无突变

转载 作者:行者123 更新时间:2023-12-04 02:00:25 25 4
gpt4 key购买 nike

我正在寻找一种创建函数的方法。在其中我可以传递一个对象和一个我想消失的属性(键)数组。该函数将为我返回一个没有指定键的新对象。
function(keys: array, obj: object) {...}
问题是-我该如何使用多个属性?

我搜索过,仅找到这种解决方案:

const myObject = {
a: 1,
b: 2,
c: 3
};

const { a, ...noA } = myObject;

但是,仅当我只想删除一个键时,它才有效。如果我想使用刚刚传递的数组删除多个,该怎么办?我该如何做到不更改原始数组或手动创建其副本?

最佳答案

您可以通过对不需要的属性采用计算属性来对对象进行解构。

const
without = (object, keys) => keys.reduce((o, k) => {
const { [k]: _ , ...p } = o;
return p;
}, object),
myObject = { a: 1, b: 2, c: 3 },
keys = ['a', 'b'],
result = without(myObject, keys);

console.log(result);

关于javascript - “Removing”来自对象的多个属性,无突变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61770481/

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