我有两个数组(Arr1,Arr2)。我正在尝试创建一个数组,其中包含与Arr.1.length(对象数组)一样多的对象,格式为:
256
使用专有信息,因此我无法显示实际代码。为了简单起见,我们将检查两个数组:
[{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]
为简单起见,请想象上面的值是指示的字符串。我使用了两个for循环来操纵两个数组。有没有一种调用方法可以简化此操作?
答案 0 :(得分:1)
一种解决方案是在Arr1
上使用Array.map()将此数组的每个element
映射到具有name
属性element
的对象,那么我们在Arr2
上使用Array.reduce()来添加另一个keys
并带有空字符串值。
var Arr1 = [1, 2, 3, 4, 5];
var Arr2 = [6, 7, 8, 9];
var result = Arr1.map(function(name)
{
let obj = {name}; // or "let obj = {name: name};" if no ES6 support.
return Arr2.reduce(function(acc, curr)
{
acc[curr]= "";
return acc;
}, obj);
});
console.log(result);
.as-console {background-color:black !important; color:lime;}
.as-console-wrapper {max-height:100% !important; top:0;}