[英]Map two arrays in typescript
我有兩個 arrays 第一個數組
{
"heart_rate": 27,
"height": 82,
"weight":78
}
第二個數組
[
{
"id": "heart_rate",
"description": "le ratio coeur",
"label":"ratio coeur"
},
{
"id": "height",
"label": "taille",
"description": "la taille"
},
{
"id": "weight",
"label": "poids",
"description": "le poids"
}
]
我可以使用map
function 來匹配第一個數組的鍵和第二個數組的 ID 以獲得這樣的結果數組嗎
[
{
"label": "poids",
"value": 82,
"description": "le poids"
},
{
"label": "taille",
"value": 78,
"description": "la taille"
},
{
"label": "ratio coeur",
"value": 27,
"description": "le ratio coeur"
},
]
MGX是正確的。 您的第一項不是數組,而是 object。
這是你必須做的,讓它與 object 一起工作。
const valueObject = {
"heart_rate": 27,
"height": 82,
"weight":78
};
const array = [
{
"id": "heart_rate",
"description": "le ratio coeur",
"label":"ratio coeur"
},
{
"id": "height",
"label": "taille",
"description": "la taille"
},
{
"id": "weight",
"label": "poids",
"description": "le poids"
}
]
const keys = Object.keys(valueObject);
const values = Object.values(valueObject);
const result = array.map((item) => {
return {
label: item.label,
value: values[keys.findIndex(key => key === item.id)],
description: item.description,
};
});
或者,您可以將valueObject
轉換為Map
以更輕松地獲得結果:
const map = new Map(Object.entries(valueObject));
const result = array.map((item) => {
return {
label: item.label,
value: map.get(item.id),
description: item.description,
};
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.