const data = [ {0: {id: "1",cat:{string:[{color:"yellow",weight:"10"},{color:"orange",Weight:"10"}]}}, {1: {id: "1",cat:{string:[{color:"blue",weight:"10"},{color:"orange",Weight:"10"}]}}, {2: {id: "1",cat:{string:[{color:"white",weight:"10"},{color:"orange",Weight:"10"}]}}, {3: {id: "1",cat:{string:[{color:"blue",weight:"10"},{color:"orange",Weight:"10"}]}}, ]Filtrar por Color: "Amarillo"
Salida deseada: [{0: {id: 1, country: "SA", address: "IOXX",cat:[{color: "yellow",weight: "10"}]}}]
Puede mapear su matriz data y verificar si cada objeto pasa sus condiciones o no.
const data = [ {0: {id: 1, country: "SA", address: "IOXX",cat:[{color: "yellow",weight: "10"}]}}, {1: {id:2, country: "SAP", name: "N", address: "IOP",cat:[{color: "blue",weight: "10"}]}}, {2: {id:3, country: "S", name: "NO", address: "I",cat:[{color: "blue",weight: "10"}]}}, {3: {id:4, country: "SXX", name: "NOI", address: "INDIA",cat:[{color: "blue",weight: "12"}]}}, ] const filterByColor = function (color) { const filteredCats = [] data.forEach((item, index) => { const hasCorrectColor = item[index].cat.every((cat) => cat.color === color) if (hasCorrectColor) { filteredCats.push(item) } }) return filteredCats } filterByColor('yellow')Puedes usar el método filter()
const data = [ { 0: { id: "1", cat: { string: [{ color: "yellow", weight: "10" }, { color: "orange", Weight: "10" }] } } }, { 1: { id: "1", cat: { string: [{ color: "blue", weight: "10" }, { color: "orange", Weight: "10" }] } } }, { 2: { id: "1", cat: { string: [{ color: "white", weight: "10" }, { color: "orange", Weight: "10" }] } } }, { 3: { id: "1", cat: { string: [{ color: "blue", weight: "10" }, { color: "orange", Weight: "10" }] } } } ]; var res = data.filter((el, i) => data[i][i]['cat']['string'][0]['color'] === 'yellow'); console.log(res);