首页 > 解决方案 > 使用大数据获取数组对象中的值

问题描述

如果我的数组中存在对象,我想在对象中获取值。数据太大了,为什么我想要快速的方法来获取它。我的数组包含超过 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
        }
      ]
    }
  ]
}

标签: javascriptarraysangularobject

解决方案


您可以为此使用find 。下面我使用了您对象的子集。

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')


推荐阅读