Как получить массив из массив объектов?
У меня есть массив объектов такого формата:
data = [
{
time: "2.30 p.m.",
value: ["val1", "val2", "val3"]
},
{
time: "4.00 p.m.",
value: ["val4", "val5", "val6"]
},
{
time: "1.00 a.m.",
value: ["val7", "val8", "val9"]
]
Как из этого массива можно получить такой массив:
const result = ["val1", "val2", "val3", "val4", "val5", "val6", "val7", "val8", "val9"]
Пробовал сделать таким образом, но выходит неправильный результат
const arr = data.map((item) => {
return [].concat(...acc.pressureHigh)
})
console.log(arr)
Ответы (2 шт):
Автор решения: Алексей Шиманский
→ Ссылка
Как-то так:
data = [
{
time: "2.30 p.m.",
value: ["val1", "val2", "val3"]
},
{
time: "4.00 p.m.",
value: ["val4", "val5", "val6"]
},
{
time: "1.00 a.m.",
value: ["val7", "val8", "val9"]
}
];
arr = data.reduce((acc, item) => {
return acc.push(...item.value), acc;
}, []);
console.log(arr)
Автор решения: Избыток Сусликов
→ Ссылка
Немного короткий вариант
const data = [
{
time: "2.30 p.m.",
value: ["val1", "val2", "val3"]
},
{
time: "4.00 p.m.",
value: ["val4", "val5", "val6"]
},
{
time: "1.00 a.m.",
value: ["val7", "val8", "val9"]
}
];
const a = data.flatMap(({ value }) => value);
console.log(a);