如何匹配来自 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;
})