如果我有一个 JS 对象,我想创建一个新对象来复制除需要过滤掉的属性黑名单之外的所有属性,最简单的方法是什么?
所以我会做类似的事情
originalObject.copyAndFilter('a', 'b')
这将获取原始对象,复制它,并确保属性 a
和 b
不在新对象中。
我通过 Babel 使用 ES2015/2016,所以如果它提供了一种更简单的方法也可以。
最佳答案
你可以使用 Set
并删除不需要的属性。
var object = { a: 1, b: 2, c: 3, d: 4 },
filteredObject = {},
p = new Set(Object.keys(object));
blacklist = ['a', 'b'];
blacklist.forEach(a => p.delete(a));
[...p].forEach(k => filteredObject[k] = object[k]);
console.log(filteredObject);
关于javascript - 复制JS对象并过滤掉某些属性的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39972428/