Javascript 如何返回被覆盖对象元素的结果对象
如何返回被覆盖对象元素的结果对象Javascript 如何返回被覆盖对象元素的结果对象,javascript,object,ecmascript-6,Javascript,Object,Ecmascript 6,如何返回被覆盖对象元素的结果对象 我只想返回firstObject使用ECMAScript 6在secondObject中覆盖的元素 var firstObject = { one: 1, four: 55, six: 6 } var secondObject = { one: 1, two: 2, three: 3, four: 4 } returnObject = { four:55 } 如果要检查两个对象上都存在哪些属性以及值的差异,可以使用Object.
我只想返回firstObject使用ECMAScript 6在secondObject中覆盖的元素
var firstObject = {
one: 1,
four: 55,
six: 6
}
var secondObject = {
one: 1,
two: 2,
three: 3,
four: 4
}
returnObject = { four:55 }
如果要检查两个对象上都存在哪些属性以及值的差异,可以使用
Object.entries
将第一个对象转换为数组。使用reduce
在数组中循环,检查并构造新对象
var firstObject={
一:一,,
四:五十五,,
六点六分
}
var secondObject={
一:一,,
二:二,,
三:三,,
4:4
}
var returnObject=Object.entries(firstObject).reduce((c[k,v])=>{
如果(secondObject[k]!==未定义&&v!==secondObject[k])c[k]=v;
返回c;
}, {});
console.log(returnObject)代码>您可以获取条目、筛选和映射新对象
var firstObject={one:1,four:55,six:6},
secondObject={1:1,2:2,3:3,4:4},
结果=对象。分配({},…对象
.条目(第一个对象)
.filter(([k,v])=>secondObject中的k&&secondObject[k]!==v)
.map(([k,v])=>({[k]:v}))
);
控制台日志(结果)代码>请再次解释您的问题?我只想返回对象1在对象2中覆盖的元素。使用Ecmascript 6很好,但它不适用于空字符串。var firstObject={1:“1”,4:6,6:9}var secondObject={1:,2:2,3:3,4:4}返回{4:6}这个解决方案也很好:)