Javascript 如何将两个数组合并为一个二维数组?

Javascript 如何将两个数组合并为一个二维数组?,javascript,arrays,Javascript,Arrays,我有两个数组。如何将它们连接到一个多维数组中 第一个数组是: var arrayA = ['Jhon, kend, 12, 62626262662', 'Lisa, Ann, 43, 672536452', 'Sophie, Lynn, 23, 636366363']; 我的另一个数组具有以下值: var arrayB = ['Jhon', 'Lisa', 'Sophie']; 如何获得具有此格式的数组?? var jarray

我有两个数组。如何将它们连接到一个多维数组中

第一个数组是:

var arrayA = ['Jhon, kend, 12, 62626262662', 
              'Lisa, Ann, 43, 672536452', 
              'Sophie, Lynn, 23, 636366363'];
我的另一个数组具有以下值:

var arrayB = ['Jhon', 'Lisa', 'Sophie']; 
如何获得具有此格式的数组??

var jarray = [['Jhon', ['Jhon, kend, 12, 62626262662']], 
              ['Lisa', ['Lisa, Ann, 43, 672536452']], 
              ['Sohphie', ['Sophie, Lynn, 23, 636366363']]]
可以使用下划线.js 查看列表中的每个值,返回第一个通过真值测试的值(迭代器)。函数在找到可接受的元素后立即返回,并且不会遍历整个列表

var even = _.find([1, 2, 3, 4, 5, 6], function(num){ return num % 2 == 0; });
=> 2
然后,您可以使用数组B元素进行相同的操作,并通过代码进行连接。

var-jarray=[];
var jarray = [];
for (var i=0; i<arrayA.length && i<arrayB.length; i++)
    jarray[i] = [arrayB[i], [arrayA[i]]];

对于(var i=0;i这就是我为得到您的要求所做的:

var jarray = [];
for (var i = 0; i < arrayB.length; i++) {
    jarray[i] = [];
    jarray[i].push(arrayB[i]);
    var valuesList = [],
        comparator = new RegExp(arrayB[i]);
    for (var e = 0; e < arrayA.length; e++) {       
        if (comparator.test(arrayA[e])) {
            valuesList.push(arrayA[e]);
       }        
    }
    jarray[i].push(valuesList);
}
var-jarray=[];
对于(var i=0;i
这是一个地图版本

var arrayA=['Jhon,kend,12,62662',
“丽莎,安,43672536452”,
“索菲,林,236366363'”;
var arrayB=['Jhon','Lisa','Sophie'];
/*预期产量
var jarray=['Jhon',['Jhon,kend,12,62662']],
[Lisa',[Lisa,Ann,43672536452'],
[Sophie',[Sophie,Lynn,236366363']]*/
var jarray=arrayB.map(函数(项,i){
返回[项目[arrayA[i]];
});

console.log(jarray);
Hmm,真的没有。因为,他需要在数组A和B中查找元素。如果他为(var i=0;这称为“压缩”,请看下面。感谢这个问题……尽管您希望确保数组的长度相等(或使用较小数组的长度),但还是有帮助的@iamnotmaynard:我已经使用了较小的长度。当然,a
表示(var I=0,l=Math.min(arrayA.length,arrayB.length);iAh,我知道我已经交换了它们。现在修复。@FelixKling:你认为OP在他的
arrayA
中实际上有3个以上的字符串吗?是的,那么你需要稍微修改一下我的解决方案。噢,该死……我很抱歉,我没有注意到这是三个字符串。我以为数组包含12个元素!很抱歉:-/将删除我所有的注释。