通过属性值查找对象属性的索引

时间:2018-07-05 21:37:16

标签: javascript

我正在使用Javascript来获取共享单击按钮值的对象属性的索引。我知道要搜索的对象索引this.todosRef.on('child_removed', snapshot => { this.setState(previousState => { const todos = previousState.todos.filter(todo => todo.key !== snapshot.key); return { todos }; }); }); ,但需要获取对象属性及其索引。例如,如果单击具有“平衡”值的按钮,则需要返回“ item2”的索引,即1。

counter

我该怎么做?

1 个答案:

答案 0 :(得分: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);