我试图在javascript中形成一个新的数组,它包含两个1维数组(长度相同)。
var A = [1,2,3];
var B = [20, 10, 30];
我想创建C:
C = [[1,20],[2,10],[3,30]];
这似乎是一个相当简单的问题。我想知道是否有一个我可以使用的功能(以避免循环)。也许有array.from或地图的东西?我在弄清楚它是如何工作时遇到了一些麻烦。
答案 0 :(得分:3)
您可以尝试以下
var A = [1, 2, 3];
var B = [20, 10, 30];
var C = A.map(function(item, index) {
return [item, B[index]]
});
console.log(C);

答案 1 :(得分:1)
对于相同长度的数组,我们可以使用地图功能 - Nikhil的答案
如果两个阵列的长度不同,我只是提供更多信息。
function mixArray(a, b) {
if (a.length < b.length) {
var j = Array(b.length-a.length).fill('');
a = a.concat(j);
}
return a.map(function(item, index) {
var tempArr = [];
if (item !== '') {
tempArr.push(item);
}
if (b[index] !== undefined) {
tempArr.push(b[index]);
}
return tempArr;
});
}
输入
var a = [1, 2, 3, 7, 8, 9];
var b = [20, 10, 30, 5];
console.log(mixArray(a,b)); // [[1, 20], [2, 10], [3, 30], [7, 5], [8], [9]]
var a = [1, 2];
var b = [20, 10, 30, 5];
console.log(mixArray(a,b)); // [[1, 20], [2, 10], [30], [5]]
希望这有帮助!谢谢 演示:https://jsbin.com/dusuna/edit?html,js,console