Как я могу сравнить вложенные объекты по тексту - PullRequest
1 голос
/ 18 мая 2019

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

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 Ответ

1 голос
/ 18 мая 2019

Поскольку все они имеют только один ключ / значение, вы можете использовать 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...