Найти индекс массива - PullRequest
       0

Найти индекс массива

0 голосов
/ 08 апреля 2020

У меня есть JSON объект, который выглядит следующим образом. Мне нужно найти индекс на основе идентификатора, чтобы я мог получить значение. Функция indexOf, кажется, работает для массива отдельных значений. Это почти индекс поиска массива в массиве.

У меня есть для l oop, который получает мне идентификатор от другого объекта, моя цель состоит в том, чтобы извлечь соответствующее значение из объекта ниже, не повторяя каждый элемент. (Ниже приведен пример фактического объекта, имеющий около 50 идентификаторов и значений)

"Field": [
    {
      "id": 360000165507,
      "value": 123
    },
    {
      "id": 360000128528,
      "value": null
    },
    {
      "id": 360000122207,
      "value": xyz
    },
    {
      "id": 360000091348,
      "value": abc
    },
 ]

Спасибо Аши sh

1 Ответ

0 голосов
/ 08 апреля 2020

Используйте filter(), чтобы получить объект, затем верните indexOf() объект в массиве obj.Field:

let obj={Field:[{id:360000165507,value:123},{id:360000128528,value:null},{id:360000122207,value:"xyz"},{id:360000091348,value:"abc"}]};

function getIndexById(id){
    let resObj = obj.Field.filter((el) => el.id == id)[0]
    return obj.Field.indexOf(resObj)
}

console.log(getIndexById(360000122207))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...