我的第一个对象是:
{Color: [
{display: "RED", value: "5433", count: "12"}
{display: "Black", value: "5446", count: "37"}
]
Brand: [
{display: "NIKAVI", value: "5458", count: "58", brand: }
{display: "BOSCH", value: "5570", count: "7",}
{display: "REPLAY", value: "5497", count: "132",}
]
Category: [
{display: "Motorbike Horns", value: "1320", count: "8"}
{display: "LED Lamps", value: "1325", count: "3"}
]
}
我的第二个对象是:
{Brand: "5458", Color: "5446",Category:[1320,75]}
我必须使用第二个对象值过滤第一个对象值。我已经尝试了很多,但是找不到好主意。我在ReactJs中工作。
您可以简单地遍历第二个对象的键值对,然后使用Array#find
method(Array#filter
如果需要数组或有多个数组,则使用method )来获取结果。
const obj1 = {Color: [
{display: "RED", value: "5433", count: "12"},
{display: "Black", value: "5446", count: "37"}
],
Brand: [
{display: "NIKAVI", value: "5458", count: "58", brand: ''},
{display: "BOSCH", value: "5570", count: "7",},
{display: "REPLAY", value: "5497", count: "132",}
],
Category: [
{display: "Motorbike Horns", value: "1320", count: "8"},
{display: "LED Lamps", value: "1325", count: "3"}
]
};
;
const obj2={Brand: "5458", Color: "5446",Category:[1320,75]};
const res = {};
for (let [key, value] of Object.entries(obj2)) {
res[key] = obj1[key].filter(o => Array.isArray(value) ? value.some(v => v == o.value) : o.value === value)
}
console.log(res);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句