我需要在javascript中使用兩個陣列進行內部連接,如下所示:
array1 =
[
{
"id": 1,
"name": "Tufan"
},
{
"id": 2,
"name": "Batuhan"
},
{
"id": 3,
"name": "Hasan"
}
]
array2 =
[
{
"name": "yyy",
"externalid": "1",
"value": "Asd"
},
{
"name": "aaaa"
"externalid": "2",
"value": "ttt"
}
]
expectedArray =
[
{
"id": 1,
"name": "Tufan",
"externalid": "1",
"value": "Asd"
},
{
"id": 2,
"name": "Batuhan",
"externalid": "2",
"value": "ttt"
}
]
規則:
- 上:array2.externalid = array1.id
- 選擇:array1.id、array1.name、array2.externalid、array2.value
我的做法:
array1.filter(e => array2.some(f => f.externalid == e.id));
// I need help for continue
我怎樣才能做到這一點?
無所謂資訊:我使用 ES5 和純 javascript
uj5u.com熱心網友回復:
你可以這樣做:
const res = array2.map((item) => {
const related = array1.find((el) => el.id == item.externalid);
return { ...item, ...related };
});
使用 map 回圈 array2 并使用 find 來獲取 array1 相對值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/465648.html
標籤:javascript 数组 加入 内部联接 ecmascript-5
上一篇:粘性div滾動太遠
下一篇:sql連接和求和3
