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个元素!很抱歉:-/将删除我所有的注释。