JavaScript-逐项组合两个数组

JavaScript-逐项组合两个数组,javascript,arrays,Javascript,Arrays,我有两个数组,第一个包含位置名,第二个包含位置纬度和经度值。每个数组中的每个项对应于另一个数组中的对应项,两个数组中的项数相同,如下所示: var arr1 = [['Location #1'],['Location #2']]; var arr2 = [['36.1978319','-83.02365759999999'],['38.679842','-121.7457402']]; 我需要的是两组项的组合数组,但不是这样连接的: var arr3 = [['Location #1','36

我有两个数组,第一个包含位置名,第二个包含位置纬度和经度值。每个数组中的每个项对应于另一个数组中的对应项,两个数组中的项数相同,如下所示:

var arr1 = [['Location #1'],['Location #2']];
var arr2 = [['36.1978319','-83.02365759999999'],['38.679842','-121.7457402']];
我需要的是两组项的组合数组,但不是这样连接的:

var arr3 = [['Location #1','36.1978319','-83.02365759999999'],
           ['Location #2','38.679842','-121.7457402']];
我能想到的唯一方法就是使用一个组合的for循环,但我不能得到正确的语法,也不确定这是否可能。。。大概是这样的:

for ((var a = 0; a < arr1.length; a++) && (var b = 0; b < arr2.length; b++)) {
    arr3.push(arr1[a] + ',' + arr2[b]);
}
((var a=0;afor{ arr3.push(arr1[a]+','+arr2[b]); }
有没有办法用纯javascript解决这个问题?

如果两个数组的长度确实相等,并且在索引中对应。这就是您所需要的:

for (var a = 0; a < arr1.length; a++) {
    arr3.push(arr1[a] + ',' + arr2[a]);
}
for(var a=0;a
您试图在for循环中组合两个contor:)

您要执行以下操作:

 var resultArray = new Array();
 for (var i = 0; i < arr1.length; i++) {
     resultArray.push([arr1[i], arr2[i][0], arr2[i][1]]);
 }
var resultArray=new Array();
对于(变量i=0;i
我认为它的短处在于:
var arr1=['Location#1'],['Location#2'];
var arr2=['36.1978319'、'-83.023657599999'、['38.679842'、'-121.7457402'];
var combined=arr1.map((element,i)=>element.concat(arr2[i]);

控制台日志(组合)运行Arr1.length的循环,因为最终的arr3长度将与Arr1相同,并连接Arr1和arr2的每个元素,这将获得预期的结果有什么特别的原因使您希望所有这些都在索引数组中?您可以考虑将位置存储为规则对象{},其位置和坐标具有键/值。这在语义上更有意义。@skyline3000-我无法控制如何返回地理编码的位置项,否则我将绝对使用对象。你说得对,那才是最好的办法。@le_m这工作做得很好!荣誉感谢您提供了这个完美的最小解决方案