如何匹配来自 2 个数组的数据并创建一个新数组
how to match data from a 2 arrays and create a new array
我有以下数组
response=[
{
"mId": "4a993417-3dae-4a85-bb2e-c535d7fda6d7",
"title": "test2",
"score": "4",
"id": "91ce873f-6e58-4c30-86d4-4eb7f200640e"
}
]
[
{
"mId": "7896548-3dae-4a85-bb2e-c855d7fda6d7",
"title": "discussion",
"score": "18",
"id": "91ce873f-6e58-4c30-86d4-4eb7f200640e"
}
]
[
{
"mId": "20d78952-3dae-4a85-bb2e-c535d7fda6d7",
"title": "test",
"score": "1",
"id": "7777777f-6e58-4c30-86d4-4eb7f200640e"
}
]
然后我有另一个数组,如下所示
mixture=[{"id":"4a993417-3dae-4a85-bb2e-c535d7fda6d7","name":"flour","description":"10g sold"}]
[{"id":"20d78952-3dae-4a85-bb2e-c535d7fda6d7","name":"teabag","description":"stock arriving"}]
我如何检查响应数组中的 mId 到混合中的相应数组以取回名称
所以我的新数组应该如下所示
newArray=[{
"name":"flour"
"mId": "4a993417-3dae-4a85-bb2e-c535d7fda6d7",
"title": "test2",
"score": "4",
"id": "91ce873f-6e58-4c30-86d4-4eb7f200640e"
}]
[{ "name":"flour"
"mId": "4a993417-3dae-4a85-bb2e-c535d7fda6d7",
"title": "discussion",
"score": "18",
"id": "91ce873f-6e58-4c30-86d4-4eb7f200640e"
}]
[{ "name":"testbag"
"mId": "7896548-3dae-4a85-bb2e-c855d7fda6d7",
"title": "test",
"score": "1",
"id": "7777777f-6e58-4c30-86d4-4eb7f200640e"
}]
只要你把你的response和mixture数组写对了,你可以通过Array.prototype.map() and Array.prototype.find()
的组合来实现
const newArray = response.map(item => {
const mix = mixture.find(mix => mix.id === item.mId);
if (mix) {
item.name = mix.name;
}
return item;
})
我有以下数组
response=[
{
"mId": "4a993417-3dae-4a85-bb2e-c535d7fda6d7",
"title": "test2",
"score": "4",
"id": "91ce873f-6e58-4c30-86d4-4eb7f200640e"
}
]
[
{
"mId": "7896548-3dae-4a85-bb2e-c855d7fda6d7",
"title": "discussion",
"score": "18",
"id": "91ce873f-6e58-4c30-86d4-4eb7f200640e"
}
]
[
{
"mId": "20d78952-3dae-4a85-bb2e-c535d7fda6d7",
"title": "test",
"score": "1",
"id": "7777777f-6e58-4c30-86d4-4eb7f200640e"
}
]
然后我有另一个数组,如下所示
mixture=[{"id":"4a993417-3dae-4a85-bb2e-c535d7fda6d7","name":"flour","description":"10g sold"}]
[{"id":"20d78952-3dae-4a85-bb2e-c535d7fda6d7","name":"teabag","description":"stock arriving"}]
我如何检查响应数组中的 mId 到混合中的相应数组以取回名称 所以我的新数组应该如下所示
newArray=[{
"name":"flour"
"mId": "4a993417-3dae-4a85-bb2e-c535d7fda6d7",
"title": "test2",
"score": "4",
"id": "91ce873f-6e58-4c30-86d4-4eb7f200640e"
}]
[{ "name":"flour"
"mId": "4a993417-3dae-4a85-bb2e-c535d7fda6d7",
"title": "discussion",
"score": "18",
"id": "91ce873f-6e58-4c30-86d4-4eb7f200640e"
}]
[{ "name":"testbag"
"mId": "7896548-3dae-4a85-bb2e-c855d7fda6d7",
"title": "test",
"score": "1",
"id": "7777777f-6e58-4c30-86d4-4eb7f200640e"
}]
只要你把你的response和mixture数组写对了,你可以通过Array.prototype.map() and Array.prototype.find()
的组合来实现const newArray = response.map(item => {
const mix = mixture.find(mix => mix.id === item.mId);
if (mix) {
item.name = mix.name;
}
return item;
})