首页 > 解决方案 > 如何将数组值作为角度中的键值对

问题描述

我是 api 新手。我有两个数组,分别是 A 和 B,A 和 B 都包含 json 响应,

数组 A 具有以下数据。

{
    "servers": [
        {
            
            "links": [
                {
                    "href": ,
                    "rel": "self"
                },
                {
                    "href": ",
                    "rel": "bookmark"
                }
            ],           
                      "rel": "bookmark"
                    }
                ]
            },
            "OS-EXte": "active",
            "OS-TR:instance_name": "instance-000",
            "OS-SRV-Uched_at": "20200",
            "flavor": {
                "id": "fe183ca7-610f-4db4-934",
                "links": [
                    {
                        "href": 
                        "rel": "bookmark"
                    }
                ]
            },

依此类推,数组 B 有

{
    "flavors": [
        {
            "name": "ti",
            "links": [
                {
                    "href": "",
                    "rel": "self"
                },
         
            ],
            "ram": 8192,
            "OS-FLV-DISABLEse,
      
        },
        {

我需要从数组 A 中获取与数组 B 匹配的所有风味 id。

标签: arraysangularmultidimensional-arraywebapi

解决方案


let servers = [{
  flavor: {
    id: "1",
    links: [{
      rel: "bookmark"
    }]
  }
}, {
  flavor: {
    id: "2",
    links: [{
      rel: "any"
    }]
  }
}]

let flavors = [{
  name: "ti",
  ram: 8192,
  id: "1"
}, {
  name: "ti",
  ram: 8192,
  id: "2"
}, {
  name: "ti",
  ram: 8192,
  id: "3"
}]

let serverFlavors = servers.map(s => s.flavor.id)
let newArray = flavors.filter(f => serverFlavors.includes(f.id))
console.log(newArray)

如果你的数据是json,你可以解析json然后做上面的。

像解析 JSON

JSON.parse(<strigifiedJSON>)

推荐阅读