如何在 angular 中将数组值作为键值对
how to take array values as key value pair in angular
我是 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。
我认为您可以先将数组 A
中的所有风味 ID 映射到新数组。
然后从映射 Flavor
数组 .
中过滤数组 B
假设服务器是数组 A -
let serverFlavor = servers.map(row => { row.flavor.id});
let filteredRam = flavors.filter(row => serverFlavor.find((a) => a == row.id));
然后你可以在 filteredRam
数组上使用 reduce 函数。
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,你可以parse the json然后再进行上面的操作
解析JSON喜欢
JSON.parse(<strigifiedJSON>)
我是 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。
我认为您可以先将数组 A
中的所有风味 ID 映射到新数组。
然后从映射 Flavor
数组 .
B
假设服务器是数组 A -
let serverFlavor = servers.map(row => { row.flavor.id});
let filteredRam = flavors.filter(row => serverFlavor.find((a) => a == row.id));
然后你可以在 filteredRam
数组上使用 reduce 函数。
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,你可以parse the json然后再进行上面的操作
解析JSON喜欢
JSON.parse(<strigifiedJSON>)