Как я могу сравнить вложенные объекты по тексту

У меня есть объект внутри вложенных объектов. Я хочу определить, существует ли имя объекта, получить текстовое значение этого объекта, к которому я пытаюсь добраться для цикла внутри элемента. Но я могу достичь только одного шага.

var data = [
  { "option1": "selectedoption1" },
  { "option2": "selectedoption2" },
  { "option2": "selectedoption3" },
  { "option2": "selectedoption4" }
]
    var selectedOption = jQuery(".option .value").eq(0).text();
    for(var i = 0; i < data.length; i++) {
      if(data[i].selectedOption) {
        console.log(selectedOption);
        // i want to reach  selectedoption1
      }
    }

Всего 1 ответ


Поскольку все они имеют только один ключ / значение, вы можете использовать find() и сравнить его с первым значением в Object.values

 var data = [ { "option1": "selectedoption1" }, { "option2": "selectedoption2" }, { "option2": "selectedoption3" }, { "option2": "selectedoption4" } ] let looking_for = "selectedoption2" let found = data.find(obj => Object.values(obj)[0] == looking_for) console.log(found) // undefined if value doens't exist: let not_here = "some_other_value" found = data.find(obj => Object.values(obj)[0] == not_here) console.log(found) 


Есть идеи?

10000