javascript中的对象映射
基于键的javascript中的对象映射,javascript,underscore.js,lodash,Javascript,Underscore.js,Lodash,基于键的数组,是否有办法将一个对象映射到另一个对象 var obj1 = { 'firstName': 'Tom', 'lastName': 'Hardy', 'age': 32 }; var obj2 = { 'firstName': 'Jon', 'lastName': 'Snow', 'age': 33 }; keys = ['lastName', 'age']; 我想用obj2的值更新obj1的lastName和age的值 是否有任何lodash函数可用于此类型的映射?对于纯Javas
数组
,是否有办法将一个对象
映射到另一个对象
var obj1 = { 'firstName': 'Tom', 'lastName': 'Hardy', 'age': 32 };
var obj2 = { 'firstName': 'Jon', 'lastName': 'Snow', 'age': 33 };
keys = ['lastName', 'age'];
我想用obj2
的值更新obj1
的lastName
和age
的值
是否有任何
lodash
函数可用于此类型的映射?对于纯Javascript,您可以使用函数迭代键,并使用[]
符号根据其他变量的值访问属性
var obj1={'firstName':'Tom','lastName':'Hardy','age':32};
var obj2={'firstName':'Jon','lastName':'Snow','age':33};
var key=['lastName','age'];
keys.forEach(prop=>obj1[prop]=obj2[prop]);
控制台日志(obj1)代码>您可以使用和来实现此结果
_.assign(obj1, _.pick(obj2, keys));
var obj1={'firstName':'Tom','lastName':'Hardy','age':32};
var obj2={'firstName':'Jon','lastName':'Snow','age':33};
var key=['lastName','age'];
_.分配(obj1,拾取(obj2,关键点));
控制台日志(obj1)代码>
.as控制台包装{最小高度:100%;顶部:0;}
是否有任何lodash/underline.js映射器可用于此类型的映射lodash
只是一个库,它还具有一个函数,您可以使用该函数执行以下操作:same@URoy-当纯JS只有46个字符时,为什么还要麻烦使用Lodash或下划线?(甚至可以用p
而不是prop
来表示<40)@nnnnnnnn我不喜欢一个字符变量:)有意义的变量名是好的,但在这样一个小箭头函数中,p
的意思是非常明显的——但如果他们寻求最大的简洁性,这个建议只是为了OP。关于你的Lodash建议,我认为OP正在寻找一个假设的.mapProperties()。