Найти индекс объекта объекта по значению свойства

Используя Javascript, я пытаюсь получить индекс свойства объекта, который разделяет значение нажатой кнопки. Я знаю индекс объекта для поиска, counterно вам нужно получить свойство объекта и его индекс. Например, если я нажимаю кнопку со значением «Poised», мне нужно вернуть индекс «item2», который равен 1.

var questions = [{
    'item1': 'Alert',
    'item2': 'Poised',
    'item3': 'Ready',
    'item4': 'Eager'
  },
  {
    'item1': 'Patient',
    'item2': 'Diligent',
    'item3': 'Forceful',
    'item4': 'Prepared'
  }
]

counter = 0
buttonValue = "Poised"

console.log(questions[counter])

Как я могу это сделать?

javascript,

0

Ответов: 1


0

Как сказал @obermillerk, объекты JavaScript не имеют индексов. но вы можете использовать Object.values ??() для получения индекса из массива, который в основном включает значения этого объекта, по порядку его значений.

var questions = [{
    'item1': 'Alert',
    'item2': 'Poised',
    'item3': 'Ready',
    'item4': 'Eager'
  },
  {
    'item1': 'Patient',
    'item2': 'Diligent',
    'item3': 'Forceful',
    'item4': 'Prepared'
  }
];            

var index;
questions.forEach(obj => {
  var value = Object.values(obj).indexOf('Poised');
	if(value !== -1) {
    index = value;
  }
})

console.log(index);

JavaScript,
Похожие вопросы