使用下划线组合两个对象数组

Tom*_*lav 2 javascript underscore.js

我有两个对象数组:

var a = [{id:456, name:'sojuz'},
         {id:751, name:'sputnik'},
         {id:56, name:'arianne'}]

var b = [{id:751, weight:5800},
         {id:456, weight:2659},
         {id:56, weight:6700}]
Run Code Online (Sandbox Code Playgroud)

使用underscorejs如何将数组a扩展到新数组c中从数组b添加权重属性,其中id属性相同:

var c = [{id:456, name:'sojuz', weight:2659},
         {id:751, name:'sputnik', weight:5800},
         {id:56, name:'arianne', weight:6700}]
Run Code Online (Sandbox Code Playgroud)

Aur*_*iot 8

这是使用下划线执行此操作的一种方法:

var c = _.map(a, function(element) {
    var treasure = _.findWhere(b, { id: element.id });

    return _.extend(element, treasure);
});
Run Code Online (Sandbox Code Playgroud)

如果你想用它来摆弄(看看我在那里做了什么):http://jsfiddle.net/b90pyxjq/3/