如何仅使用自己的属性更新对象?

时间:2016-12-28 18:54:22

标签: lodash

我想使用lodash更新我的对象(但只有自己的属性)。我正在阅读文档,但找不到太多(或者只是我没有得到它)​​。有什么想法吗?

let x = { name: 'John', last: 'Doe' };
let y = { age: 23 };
let z = { last: 'Smith', age: 25 };

_.something(x, y); // should be { name: 'John', last: 'Doe' };
_.something(x, z); // should be { name: 'John', last: 'Smith' };

1 个答案:

答案 0 :(得分:0)

使用_.keys()获取原始对象键的数组,并将该数组用于第二个对象的_.pick()属性。 _.assign()已挑选的对象属性,或新对象{},如果您不想改变原始对象。



let x = { name: 'John', last: 'Doe' };
let y = { age: 23 };
let z = { last: 'Smith', age: 25 };

console.log(_.assign({}, x, _.pick(y, _.keys(x))));
console.log(_.assign({}, x, _.pick(z, _.keys(x))));

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.3/lodash.min.js"></script>
&#13;
&#13;
&#13;