2016-12-28 7 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

関連する問題