tengo este objeto:
data: [ { name: bed, price: [ { id: 2, color: red }, { id: 4, color: blue } ] }, { name: lego, price: [ { id: 5, color: red }, { id: 6, color: blue } ] }, { name: mouse, price: [ { id: 7, color: red }, { id: 9, color: blue } ] } ] Quiero recopilar los precios de id de cada objeto de esta manera:
ids: [ [ 2, 4 ], [ 5, 6 ], [ 7, 9 ] ]Intenté esto pero no funciona:
ids() { const datas = this.data; let idPrices = null; let prices = []; for (let priceId in datas) { prices.push(priceId.price); } idPrices = prices.map((prices) => prices.map((price) => price.id)); return idPrices; }Utilice Array.map :
const data=[{name:"bed",price:[{id:2,color:"red"},{id:4,color:"blue"}]},{name:"lego",price:[{id:5,color:"red"},{id:6,color:"blue"}]},{name:"mouse",price:[{id:7,color:"red"},{id:9,color:"blue"}]}]; const ids = data.map(e => e.price.map(f => f.id)); console.log(ids);¿Quizás este te ayude? Creo que es posible hacerlo más simple, pero esto es lo mejor que puedo hacer a la 1:30 AM. :)
const data = [ {name: 'bed', price:[{id: 2 ,color: 'red'}, {id: 4, color: 'blue'}]}, {name: 'lego', price:[{id: 5 ,color: 'red'}, {id: 6, color:'blue'}]}, {name: 'mouse', price:[{id: 7 ,color: 'red'}, {id: 9, color: 'blue'}]} ] let idPrices = []; for (const i in data) { let prices = []; for (const j in data[i].price) { prices.push(data[i].price[j].id) } idPrices.push(prices) } console.log(idPrices);