Извлечение свойства значения из массива ИЛИ объекта с использованием Javascript - PullRequest
1 голос
/ 13 апреля 2019

У меня есть несколько вариантов в выпадающем списке на моем веб-сайте, которые затем отправляются через webhook, чтобы я мог извлечь из них подробности. Я пытаюсь извлечь значение из объекта ageId.

Но, в зависимости от выбранного выпадающего элемента, он либо помещается в массив, либо в объект с добавлением некоторых других деталей.

Age Dropdown

Если выбран параметр Взрослый , ageId: [ { i: 0, value: '25', label: 'Adult' } ]

Когда выбрана опция Senior , ageId: { '1': { i: 1, value: '65', label: 'Senior' } }

До того, как я добавил дополнительные параметры раскрывающегося списка, следующее работало для извлечения требуемого свойства 25

const ageMinimum = event.ageId[0].value[Object.keys(event.ageId[0].value)[0]].value;

Как можно извлечь свойство value (например, 25 или 65) каждый раз, независимо от выбранного раскрывающегося списка и последующего изменения синтаксиса?

1 Ответ

0 голосов
/ 13 апреля 2019

Вы можете попробовать:

var adult = [ { i: 0, value: '25', label: 'Adult' } ];
var senior = { '1': { i: 1, value: '65', label: 'Senior' } };
var tmp = senior; // Or adult

var ageMinimum  = (Array.isArray(tmp) ? tmp[0] : tmp[Object.keys(tmp)[0]]).value; // Edited to work with flexible first object property names
console.log(ageMinimum);
...