Получение значений из объекта при неизвестных ключах
Есть json объект (элементов может быть больше):
[
{
'614303455': {
id: '614303455',
status: 'passed',
duration: 2.11,
retries: 0,
title: null,
suite: 'Позитивные'
}
},
{
'51435655': {
id: '51435655',
status: 'passed',
duration: 1.22,
retries: 0,
title: null,
suite: 'Позитивные'
}
}
]
Нужно достать все значения поля duration
Но из-за того что путь до duration выглядит так: obj.'51435655'.duration, у меня трудности именно с перебором 614303455/51435655, т.к. так могут быть любые цифры
Ответы (1 шт):
Автор решения: Regent
→ Ссылка
Обойтись без знания значений ключей 614303455/51435655 можно, например, с помощью метода Object.values()
В остальном же всё равно надо пройтись по "внешнему массиву" и по массивам values внутри, так что попроще (чем вариант в комментариях к вопросу) особо не выйдет
Можно сложить значения duration в массив и выводить на экран его. Это пригодится, если нужно как-то работать с duration дальше по коду
var data = [
{
'614303455': {
id: '614303455',
status: 'passed',
duration: 2.11,
retries: 0,
title: null,
suite: 'Позитивные'
}
},
{
'51435655': {
id: '51435655',
status: 'passed',
duration: 1.22,
retries: 0,
title: null,
suite: 'Позитивные'
}
}
];
var durations = data.flatMap(obj => Object.values(obj))
.map(value => value.duration);
console.log(durations);