получить значение в массиве объекта с большими данными - PullRequest
0 голосов
/ 26 октября 2018

Я хочу получить значение в объекте, если он существует в моем массиве. Данные слишком велики, поэтому я хочу, чтобы быстрый метод их получил. мой массив содержит более 4000 объектов. Что вы предлагаете мне использовать: простой цикл, foreach, ...?

Я хочу получить логическое значение в массиве значений в объекте MY_GOAL_1, если он существует.

 {
  "extensionId": "  ",
  "version": "001",
  "features": [
    .....
    .....
    {
      "logicalKey": "MY_GOAL_1",
      "featureLabel": "Option Selected",
      "typeCode": "BOOL",
      "groupCode": "TOT",
      "groupId": "*",
      "isDisabled": false,
      "isRequired": false,
      "values": [
        {
          "value": true
        }
      ]
    },
    {
      "logicalKey": "MY_GOAL_2",
      "featureLabel": "Option Selected",
      "typeCode": "BOOL",
      "groupCode": "TOT",
      "groupId": "*",
      "isDisabled": false,
      "isRequired": false,
      "values": [
        {
          "value": false
        }
      ]
    }
  ]
}

1 Ответ

0 голосов
/ 26 октября 2018

Вы можете использовать найти для этого. Ниже я использовал подмножество из вашего объекта.

var obj = {
  "extensionId": "  ",
  "version": "001",
  "features": [
    {
      "logicalKey": "MY_GOAL_1",
      "featureLabel": "Option Selected",
      "typeCode": "BOOL",
      "groupCode": "TOT",
      "groupId": "*",
      "isDisabled": false,
      "isRequired": false,
      "values": [
        {
          "value": true
        }
      ]
    }
]
}
var foundObj = obj['features'].find(d => d.logicalKey == "MY_GOAL_1")
var result = foundObj && foundObj['values']
console.log(result || 'not found')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...