Quiero devolver todos los objetos dentro del bucle anidado
const data = [{ id:1, products:[{id:1, name:'apple'}, {id:2, name:'orange'}] }, {id:2, products:[{id:3, name:'grapes'}, {id:4, name:'banana'}, {id:5, name:'dragonFruit'}] }] let result = data.map(item=>{ item?.products?.map(row=> return row) }) console.log(result )el resultado debe ser:
[{id: 1, name: 'apple'} {id: 2, name: 'orange'} {id: 3, name: 'grapes'} {id: 4, name: 'banana'} {id: 5, name: 'dragonFruit'} ] const data = [{ id:1, products:[{id:1, name:'apple'}, {id:2, name:'orange'}] }, {id:2, products:[{id:3, name:'grapes'}, {id:4, name:'banana'}, {id:5, name:'dragonFruit'}] }] let result = data.map(item=>{ let res = item.products.map((val) =>{ return val }) return res }) console.log(result)verifique el fragmento anterior, aquí la función de mapa interno devuelve el valor al mapa externo y desde la función de mapa externo estoy devolviendo el resultado
Es posible usar flatMap con map .
let result = data.flatMap(({products})=> products.map(prd=> ({...prd })))Permítanme mostrar un ejemplo:
const data = [ { id:1, products:[ {id:1, name:'apple'}, {id:2, name:'orange'} ] }, {id:2, products:[ {id:3, name:'grapes'}, {id:4, name:'banana'}, {id:5, name:'dragonFruit'} ] } ] let result = data.flatMap(({products})=> products.map(prd=> ({ ...prd }))) console.log(result)Puedes usar el flatMap . Lea más sobre esto aquí
const data = [ { id:1, products:[{id:1, name:'apple'}, {id:2, name:'orange'}] }, { id:2, products:[{id:3, name:'grapes'}, {id:4, name:'banana'}, {id:5, name:'dragonFruit'}] } ]; const flatResult = data.flatMap(({products})=> products); console.log(flatResult)Lo anterior devolverá la salida como
[ { "id": 1, "name": "apple" }, { "id": 2, "name": "orange" }, { "id": 3, "name": "grapes" }, { "id": 4, "name": "banana" }, { "id": 5, "name": "dragonFruit" } ]