JavaScript是否有“添加”对象的自然方式,即添加或覆盖属性?
我想知道JavaScript是否有这样一种方式JavaScript是否有“添加”对象的自然方式,即添加或覆盖属性?,javascript,Javascript,我想知道JavaScript是否有这样一种方式 var x = { 'a' : 4, 'b' : -1 }; var y = { 'c' : 0 }; var z = x + y; // { 'a' : 4, 'b' : -1, 'c' : 0 } var arr = [1, 5, 1, 10, 239, -1, 1, 5]; var unique = Object.keys(arr.reduce((prev,cur) => ???, {})).map(key => key)
var x = { 'a' : 4, 'b' : -1 };
var y = { 'c' : 0 };
var z = x + y; // { 'a' : 4, 'b' : -1, 'c' : 0 }
var arr = [1, 5, 1, 10, 239, -1, 1, 5];
var unique = Object.keys(arr.reduce((prev,cur) => ???, {})).map(key => key); // [1, 5, 10, 239, -1];
除了滚动我自己的函数或导入库之外
我想知道的原因是我想使用reduce来获取数组中的唯一值,比如
var x = { 'a' : 4, 'b' : -1 };
var y = { 'c' : 0 };
var z = x + y; // { 'a' : 4, 'b' : -1, 'c' : 0 }
var arr = [1, 5, 1, 10, 239, -1, 1, 5];
var unique = Object.keys(arr.reduce((prev,cur) => ???, {})).map(key => key); // [1, 5, 10, 239, -1];
在那里我不知道该放些什么???上图。对于您的第一个示例,它是Object.assign,这在ES2015中是新的,但对于较旧的JavaScript引擎,它可以是多填充的: 变量x={'a':4,'b':-1}; 变量y={c':0}; VARz=Object.assign{},x,y;
console.logz;//{'a':4,'b':-1,'c':0}var z=Object.assignx,y;是标准,但并非所有浏览器都支持它。@BerkayYaylaci通过将一个数组中的值添加到另一个数组的末尾来创建一个新数组。它不会向不同的对象添加缺少的属性。@Xufox修改x。您可能需要:var z=Object.assign{},x,y@Xufox还有一个可以让它在还不支持它的浏览器中工作的浏览器。我的目标是成为一名JavaScript开发人员,解决地图和地图的所有问题reduce@Ms.Corlib:哈哈!我喜欢。