Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.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 - Fatal编程技术网

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)

我想知道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); // [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:哈哈!我喜欢。