2016-12-28 37 views
0

我想用新的更新我的對象(但只有自己的屬性)使用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' }; 

回答

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>

+0

太謝謝你了! – Nika