如何在javascript中将两个数组组合成一个对象数组?

如何在javascript中将两个数组组合成一个对象数组?,javascript,arrays,Javascript,Arrays,我有两个数组,我想形成一个对象数组,这样obj的新数组有两个键,第一个键填充第一个数组的元素,第二个键填充第二个数组的数组元素。这可以使用map函数来完成。我找到了最接近的答案如下:- 例如:- 但是它使用angular JS,我只想使用纯JS。我不确定您的输出应该是什么,但是您提供的输出似乎无效。我已将输出格式修改为有效格式 对于您的任务,解决方案是zip数组,但是,JS没有内置的zip函数,因此我们可以通过map函数模拟它: var ar1 = ['a1', 'a2', 'a3', 'a4

我有两个数组,我想形成一个对象数组,这样obj的新数组有两个键,第一个键填充第一个数组的元素,第二个键填充第二个数组的数组元素。这可以使用map函数来完成。我找到了最接近的答案如下:-

例如:-


但是它使用angular JS,我只想使用纯JS。

我不确定您的输出应该是什么,但是您提供的输出似乎无效。我已将输出格式修改为有效格式

对于您的任务,解决方案是
zip
数组,但是,JS没有内置的
zip
函数,因此我们可以通过
map
函数模拟它:

var ar1 = ['a1', 'a2', 'a3', 'a4', 'a5'];
var ar2 = ['b1', 'b2', 'b3', 'b4', 'b5'];
var armixed = ar1.map(function (x, i) { 
                          return [x, ar2[i]] 
                      });
输出将是:

armixed = [
    ["a1", "b1"]
    ["a2", "b2"]
    ["a3", "b3"]
    ["a4", "b4"]
    ["a5", "b5"]
]
如果希望在输出中包含对象(而不是数组),可以将上面的return语句编辑为如下内容:

return { categories: x, catid: ar2[i] }

我们需要查看您正在使用的两个阵列,以及您希望它们成为什么的最终结果,以及您可能已经尝试使用的代码。您所指的问题有答案-在简单的JS中…
这可以使用映射函数来完成吗?已经用地图回答了推荐人的问题。你好。我看到你刚刚用一些代码编辑了你的问题,这很好,但是你提供的代码没有给出任何关于你想要完成什么的真正线索。看看如何写一篇文章。此外,您链接的问题似乎与角度无关,而且在任何情况下,合并数组都可以使用“纯”JS完成,即使是这样。你能解释一下是什么让你这么做的吗?我正在获取Scope是未定义的如何分配一些键..假设第一个元素将被称为categories,所有第二个元素将被称为catidJust编辑return语句,使之类似:
return{categories:x,catid:ar2[I]}
return { categories: x, catid: ar2[i] }