如何从具有过滤值的旧对象创建新对象
2021-12-19
901
我有一个对象:
const items = {
a: [3,5],
b: [6,7,8],
c: [0,10,1111]
}
以及数组:
const existing = [3,8]
我想创建一个新对象,但不包含现有数组中包含的值。我指的是这个:
const newItems = {
a: [5],
b: [6,7],
c: [0,10,1111]
}
请提供提示!
2个回答
101287864
HDM91
2021-12-19
您可以将
Object.entries
和
Object.fromEntries
与
filter
结合使用来获取所需的结果。
const items = {
a: [3, 5],
b: [6, 7, 8],
c: [0, 10, 1111],
}
const existing = [3, 8]
const newEntries = Object.entries(items).map(([key, value]) => [
key,
value.filter((x) => !existing.includes(x))
])
const newObject = Object.fromEntries(newEntries)
Ayman El Temsahi
2021-12-19