[英]How can I inner join with two object arrays in JavaScript?
I need inner join with two array in javascript like this:我需要像这样在 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"
}
]
rules:规则:
My approach:我的方法:
array1.filter(e => array2.some(f => f.externalid == e.id));
// I need help for continue
How can I make this?我该怎么做?
Doesn't matter information: I use ES5 and pure javascript无所谓信息:我用ES5和纯javascript
You can do it like this:你可以这样做:
const res = array2.map((item) => {
const related = array1.find((el) => el.id == item.externalid);
return { ...item, ...related };
});
Using a map to loop over the array2 and a find to get the array1 relative.使用 map 遍历 array2 并使用 find 获取 array1 相对值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.