![](/img/trans.png)
[英]Javascript/underscore/lodash : Comparing object in array of objects and remove the matched object
[英]Javascript remove object keys that are not in both objects with Lodash?
所以,我有这两个对象:
const obj1 = {
foo: 'Foo',
bar: {
baz: 'Baz',
}
}
const obj2 = {
foo: 'Foo',
bar: {
baz: 'Baz',
zip: 'Zip'
},
}
我想从 obj2 中删除“zip”,因为它不在 obj1 中。 有没有办法用 lodash 做到这一点?
编辑:如果一个属性是一个对象,它将是它们两个中的一个对象。 在另一个字符串中不能有一个对象的相同键的字符串。
用例是,我有一个翻译文件,经过一些处理后,我需要删除不再需要的文件。 因此,如果我在原始对象(即 obj1)中删除它们,则必须将它们从其他对象(在本例中为 obj2.
如果您愿意使用其他库,我建议您查看deep-diff :
const obj1 = { foo: 'Foo', bar: { baz: 'Baz', } } const obj2 = { foo: 'Foo', bar: { baz: 'Baz', zip: 'Zip' }, } DeepDiff.observableDiff(obj2, obj1, d => { DeepDiff.applyChange(obj2, obj1, d) }); console.log(obj1) console.log(obj2)
<script src="https://cdn.jsdelivr.net/npm/deep-diff@1/dist/deep-diff.min.js"></script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.