是否有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' };
解决方法
可能是
_.extend()
:
_.extend(objectA,objectB); console.log(objectA); // { 'name': 'Jonathan Conway','errors': [] }
如果您不想获取其他密钥,可以将其与_.keys()
和_.pick()
一起使用:
var keys = _.keys(objectA); _.extend(objectA,_.pick(objectB,keys)); console.log(objectA); // { 'name': 'Jonathan Conway','city': 'Sydney' }