Underscore.js对象 - 对象映射器?

Jon*_*han 6 javascript node.js underscore.js

是否有Underscore.js函数可以根据其他对象的属性将一个对象映射到另一个对象?

(类似于AutoMapper在.NET中的工作方式.)

例如:

var objectA = { 'name': 'Jonathan', 'city': 'Sydney' };
var objectB = { 'name': 'Jonathan Conway', 'city': 'Sydney', 'errors': [] }

_.mapperMethod(objectB);

=> { 'name': 'Jonathan Conway', 'city': 'Sydney' };
Run Code Online (Sandbox Code Playgroud)

Jon*_*ski 10

可能_.extend():

_.extend(objectA, objectB);

console.log(objectA);
// { 'name': 'Jonathan Conway', 'city': 'Sydney', 'errors': [] }
Run Code Online (Sandbox Code Playgroud)

如果您不想获取其他密钥,可以使用_.keys()_.pick():

var keys = _.keys(objectA);
_.extend(objectA, _.pick(objectB, keys));

console.log(objectA);
// { 'name': 'Jonathan Conway', 'city': 'Sydney' }
Run Code Online (Sandbox Code Playgroud)