我有这个对象:
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
}
]
}
]
我想像这样收集每个对象的id
价格:
ids: [ [ 2, 4 ], [ 5, 6 ], [ 7, 9 ] ]
我试过这个,但是它不工作:
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;
}
使用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);
也许这个对你有帮助?我认为有可能做得更简单,但这是我在凌晨1:30能做的最好的事情。:)
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);