Mon premier objet est:
{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"}
]
}
Mon deuxième objet est:
{Brand: "5458", Color: "5446",Category:[1320,75]}
Je dois filtrer la première valeur d'objet en utilisant les secondes valeurs d'objets. J'ai beaucoup essayé mais je n'ai pas trouvé de bonnes idées. Je travaille dans reactJs.
Vous pouvez simplement parcourir les paires clé-valeur sur le deuxième objet, puis utiliser la Array#find
méthode (ou utiliser la Array#filter
méthode si vous avez besoin d'un tableau ou s'il y en a plusieurs) pour obtenir le résultat.
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);
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras