我有一个键数组,可以作为对象的属性存在,如果存在的话,我想删除其上的那些属性,我知道删除对象上的单个道具是这样的:
const { 'removedPropOnObj', ...newObj } = obj;
newObj在这里成为具有removePropOnObj的remove属性的新对象,我想做类似的事情,但是在这种情况下,我的键数组是:
['removeKey1','removeKey2','removeKey3']
帮助?
答案 0 :(得分:1)
您可以使用Object.keys
和reduce()
let rmKeys =['removeKey1','removeKey2','removeKey3']
let obj = {
removeKey1:1,
removeKey2:2,
removeKey3:3,
removeKey4:4,
removeKey5:5
}
let newObj = Object.keys(obj).reduce((ac,a) => !rmKeys.includes(a) ?({...ac,[a]:obj[a]}) : ac,{})
console.log(newObj);