Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何返回被覆盖对象元素的结果对象_Javascript_Object_Ecmascript 6 - Fatal编程技术网

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}这个解决方案也很好:)