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

Javascript 从两个阵列创建一个唯一的阵列

Javascript 从两个阵列创建一个唯一的阵列,javascript,arrays,javascript-objects,Javascript,Arrays,Javascript Objects,我有两个数组(Arr1,Arr2)。我正在尝试创建一个数组,其中包含与Arr.1.length(对象数组)一样多的对象,其中格式为: [{name:Arr1[0], Arr2[0],Arr2[1]...etc}, {name:Arr1[1], Arr2[0],Arr2[1]...etc}..... etc] 使用专有信息,因此我无法显示实际代码。为了简单起见,我们将检查两个阵列: Arr1[1,2,3,4,5] Arr2[6,7,8,9] 生成的数组应为: [{name:1,6:'',7:

我有两个数组(Arr1,Arr2)。我正在尝试创建一个数组,其中包含与Arr.1.length(对象数组)一样多的对象,其中格式为:

[{name:Arr1[0], Arr2[0],Arr2[1]...etc}, {name:Arr1[1], Arr2[0],Arr2[1]...etc}..... etc]
使用专有信息,因此我无法显示实际代码。为了简单起见,我们将检查两个阵列:

Arr1[1,2,3,4,5] 
Arr2[6,7,8,9]
生成的数组应为:

[{name:1,6:'',7:'',8:'',9:''},{name:2,6:'',7:'',8:'',9:''},{name:3,6:'',7:'',8:'',9:''},{name:4,6:'',7:'',8:'',9:''},{name:5,6:'',7:'',8:'',9:''}]
为了简单起见,假设上面的值是字符串。我使用了两个for循环来操作两个数组。有没有一种方法可以调用以简化此过程?

一种解决方案是使用over
Arr1
将此数组中的每个
元素
映射到一个对象,该对象的属性
名称
包含
元素
,然后使用over
Arr2
添加其他具有空字符串值的

var Arr1=[1,2,3,4,5];
var Arr2=[6,7,8,9];
var result=Arr1.map(函数(名称)
{
让obj={name};//或“让obj={name:name};”如果不支持ES6。
返回Arr2.减少(功能(acc,curr)
{
acc[当前]=“”;
返回acc;
},obj);
});
控制台日志(结果)
.as控制台{背景色:黑色!重要;颜色:石灰;}

.作为控制台包装器{max height:100%!important;top:0;}
请添加一个您尝试实现的真实示例。。。我不清楚你期望得到的“结果数组”是无效的,你想要一个数组数组?我猜他在寻找一个数组对象,但不太清楚
[{1,6,7,8,9},{2,6,7,8,9},{3,6,7,8,9},{4,6,7,8,9},{5,6,7,8,9}]
认为我的第一句话很清楚,但是是的。。。。和对象数组。抱歉。那么这些对象的
名称是什么?您只显示了
name
键,该键将保存
Arr1
中的元素。这就像是一个咒语@Shidersz,谢谢。您知道如何检查字符串(在这个问题中是数字)是否等于该数组中对象上的任何键吗?因此,例如,如果我有6,并希望使用结果[0]对其进行分析,结果[0]为{name:1,6:'',7:'',8:'',9:''},并将结果[0]的值更改为“cat”。如果我的变量等于该键,我将如何实现这一点?我研究了.keys()方法,但我并不是真的希望得到一个数组,如果可能的话,在这个过程中再做一步。@D-Man我不太明白你到底想做什么。但是,例如:
result[0].hasOwnProperty(“6”)
将检查与
result[0]
相关的对象是否具有属性名
“6”
。检查文件