pro*_*mer 3 javascript arrays find
我有 2 个数组:
地址 - 带有 id 的对象数组
拾取 - 带有 id 的对象数组
我需要通过 id 将这些数组连接成 1。
例子:
address = [
{id: "123", name: "any city street"},
{id: "124", name: "any city street"},
{id: "125", name: "any city street"},
{id: "126", name: "any city street"}
];
pickups = [
{id: "123", time: "10:20"},
{id: "124", time: "11:30"},
{id: "125", time: "12:00"},
{id: "126", time: "12:20"}
];
Run Code Online (Sandbox Code Playgroud)
我需要通过 id 连接它,结果如下:
{id: "124", name: "name smth", time: "11:30"}
Run Code Online (Sandbox Code Playgroud)
我的意思是将这 2 个数组映射为一个
address = [
{id: "123", name: "any city street"},
{id: "124", name: "any city street"},
{id: "125", name: "any city street"},
{id: "126", name: "any city street"}
];
pickups = [
{id: "123", time: "10:20"},
{id: "124", time: "11:30"},
{id: "125", time: "12:00"},
{id: "126", time: "12:20"}
];
const result = pickups.map(pickup => {
let match = address.find(addr => addr.id == pickup.id);
return {
id : pickup.id,
time: pickup.time,
name : match.name,
}
})
console.log(result);Run Code Online (Sandbox Code Playgroud)
或者如果你真的很喜欢短代码:
pickups.map(el => ({ ...el, ...address.find(addr => addr.id == el.id)}))
Run Code Online (Sandbox Code Playgroud)
请注意,这仅在pickups和之间始终匹配时才有效address
| 归档时间: |
|
| 查看次数: |
353 次 |
| 最近记录: |