gpt4 book ai didi

javascript - 一个类轮删除多个对象属性

转载 作者:行者123 更新时间:2023-11-30 08:21:00 24 4
gpt4 key购买 nike

我有几个对象属性需要在某个时候删除,但我还需要其他属性,所以我不能只写 delete vm.model; 来删除所有属性。

目前我需要删除 5 个属性,但列表很可能会增长,所以我不想结束。

delete vm.model.$$hashKey;
delete vm.model.expiryDate;
delete vm.model.sentDate;
delete vm.model.startDate;
delete vm.model.copied;

我正在寻找一款适合我的衬垫。我做了一些研究并找到了 _.omit lodash 函数,但我不想最终只为一个函数下载整个库。

angularjs/js有没有一次性清除多个属性的函数?

最佳答案

目前还没有原生函数可以做到这一点;但你总是可以循环并删除:

const obj = {
prop1: 'foo',
prop2: 'bar',
prop3: 'baz'
}

;[ 'prop1', 'prop2' ].forEach(prop => delete obj[prop])

console.log(obj)

... found the _.omit lodash function but I don't want to end up downloading whole library just for a single function.

只需将相同的概念抽象成一个函数并重用它:

const obj = {
prop1: 'foo',
prop2: 'bar',
prop3: 'baz'
}

const filterKeys = (obj, keys = []) => {
// NOTE: Clone object to avoid mutating original!
obj = JSON.parse(JSON.stringify(obj))

keys.forEach(key => delete obj[key])

return obj
}

const result1 = filterKeys(obj, ['prop1', 'prop2'])
const result2 = filterKeys(obj, ['prop2'])

console.log(result1)
console.log(result2)

关于javascript - 一个类轮删除多个对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53617129/

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