使用 lodash 合并 2 个具有不同键的对象数组

Kev*_* Py 5 javascript underscore.js lodash

我在一个项目中使用 Backbone/lodash,我希望根据特定值合并 2 个对象数组。在下面的这个例子中,合并基于具有 2 个不同键(id 和 number)的相同值。

例子

var people = [
    {
        id: "1",
        name: "John"
    },
    {
        id: "2",
        name: "Jane"
    }
];

var data = [
    {
        number: "2",
        role: "Designer"
    },
    {
        number: "1",
        role: "Developer"
    }
];

// Outpout

var merge = [
    {
        id: "1",
        number: "1",
        name: "John",
        role: "Developer"
    },
    {
        id: "2",
        number: "2",
        name: "Jane",
        role: "Designer"
    }
];
Run Code Online (Sandbox Code Playgroud)

sta*_*las 3

_.map(people, function(p){
    return _.merge(
        p, 
        _.find(data, {number: p.id})
    )
})
Run Code Online (Sandbox Code Playgroud)