首页 > 解决方案 > 如何从数组对象中的嵌套数组中获取数据

问题描述

我有一个像这样的对象数组

array = {
    "microservices": [
        {
            "id": 1,
            "permissions": [
                {
                    "id": 65,
                    "name": "Default permission"
                },
                {
                    "id": 64,
                    "name": "Super user Access"
                }
            ]
        },
        {
            "id": 2,
            "permissions": []
        },
        {
            "id": 3,
            "permissions": [
                {
                    "id": 18,
                    "name": "Script: Update"
                },
                {
                    "id": 15,
                    "name": "Application: Delete"
                },
                {
                    "id": 9,
                    "name": "Workspace: Create"
                }
            ]
        }
    ]
}

从微服务数组我只想获得“权限”数组并存储到一个新变量,我搜索了它但没有得到任何相关的解决方案,在此先感谢

标签: javascriptjson

解决方案


您可以使用map运算符并单独获取该特定属性。请检查下面的 JS 示例。

const array = {
  "microservices": [{
      "id": 1,
      "permissions": [{
          "id": 65,
          "name": "Default permission"
        },
        {
          "id": 64,
          "name": "Super user Access"
        }
      ]
    },
    {
      "id": 2,
      "permissions": []
    },
    {
      "id": 3,
      "permissions": [{
          "id": 18,
          "name": "Script: Update"
        },
        {
          "id": 15,
          "name": "Application: Delete"
        },
        {
          "id": 9,
          "name": "Workspace: Create"
        }
      ]
    }
  ]
}
const output = []
array.microservices.map(function(x) {
  output.push(...x.permissions);
})
console.log(output);


推荐阅读