A continuación se muestra una matriz anidada de objetos, ¿cómo puedo filtrar esto según la propiedad del objeto? ex. si name==="mismo" entonces debería devolver ese objeto
const arrNestedObj=[ { "id":"1", 0:{ "name":"john", "age":"10" }, 1:{ "name":"sam", "age":"20" } },{ "id":"2", 0:{ "name":"sam", "age":"15" }, } ] expected output: if name==="same" then it should return that object [ { "name":"sam", "age":"20" }, { "name":"sam", "age":"15" } ]Si su significado es que desea el objeto name === 'sam', entonces puede usar Array.prototype.map() y Object.getOwnPropertyNames
Estos dos métodos pueden ayudarlo a obtener los objetos.
ejemplo:
<script> const arrNestedObj=[ { "id":"1", 0:{ "name":"john", "age":"10" }, 1:{ "name":"sam", "age":"20" } },{ "id":"2", 0:{ "name":"sam", "age":"15" }, } ] let result = []; arrNestedObj.map((item) => { let tempArray = Object.getOwnPropertyNames(item) for(let i=0; i<tempArray.length-1; i++) { if(Number(tempArray[i] !== NaN)) { if(item[tempArray[i]].name === "sam") { result.push(item[tempArray[i]]); } } } }); console.log(result) </script>Utilice el método Array.prototype.filter.
const filteredArr = arrNestedObj.filter(elem => elem.name === "sam")Aquí está mi solución
const output = data.map(i=>Object.values(i).filter(v=>v.name==="sam")).reduce((holder, cur)=>{ return [...holder,...cur] },[])