这是我要用于从数据库中获取数据的对象。
let productsIdCount = {
'9r854asdsdsdf16351351asf': 54,
'9r854asdsdsdf16351351asp': 55,
'9r854asdsdsdf16351351asi': 114,
'9r854asdsdsdf16351351asm': 22,
'9r854asdsdsdf16351351asc': 42,
'9r854asdsdsdf16351351ase': 29,
'9r854asdsdsdf16351351asw': 42,
'9r854asdsdsdf16351351ass': 19,
'9r854asdsdsdf16351351asy': 111,
}
这是我要比较的数据:
let pidArray = [
'9r854asdsdsdf16351351asi',
'9r854asdsdsdf16351351asw',
'9r854asdsdsdf16351351ass',
'9r854asdsdsdf16351351asp',
'9r854asdsdsdf16351351asy',
]
因此,如果pidArray具有一个在productIdCount中不存在的ID,那么我想从该对象中删除该ID属性和值对。 或者只是创建另一个对象,并在数组中添加具有相同ID的prop和value对。
答案 0 :(得分:4)
只需循环即可创建新对象:
const result = {};
for (const prop in productsIdCount)
if (pidArray.includes(prop))
result[prop] = productsIdCount[prop];
答案 1 :(得分:0)
尝试一下:
let productsIdCount = {
'9r854asdsdsdf16351351asf': 54,
'9r854asdsdsdf16351351asp': 55,
'9r854asdsdsdf16351351asi': 114,
'9r854asdsdsdf16351351asm': 22,
'9r854asdsdsdf16351351asc': 42,
'9r854asdsdsdf16351351ase': 29,
'9r854asdsdsdf16351351asw': 42,
'9r854asdsdsdf16351351ass': 19,
'9r854asdsdsdf16351351asy': 111,
}
let pidArray = [
'9r854asdsdsdf16351351asi',
'9r854asdsdsdf16351351asw',
'9r854asdsdsdf16351351ass',
'9r854asdsdsdf16351351asp',
'9r854asdsdsdf16351351asy',
]
const f = (objValues, listOfPids) => {
const filteredValue = {};
for(pid in objValues)
if (listOfPids.includes(pid))
filteredValue[pid] = objValues[pid]
return filteredValue;
}
const newValue = f(productsIdCount, pidArray);
console.log(newValue);