如何在Javascript中合并两个不同的数组
How to merge two different arrays in Javascript?
我有这个数组
var arr1 = [19, 1, 1, 1, 1];
和另一个数组
var arr2 = ["Default", "Dynamic", "Assessment", "Risk", "Privacy"];
我想要的是将它们合并,使其看起来像这样,
var merged_array = [ ["Default", 19], ["Dynamic", 1], ["Assessment", 1], ["Risk", 3], ["Privacy", 2] ];
我该怎么做呢?我试过join
,但没有达到我想要的效果。提前感谢!
使用for循环:
var merged_array = new Array(arr1.length);
for (var i = 0; i < arr1.length; i++) {
merged_array[i] = new Array(arr2[i], arr1[i]);
}
假设arr1和arr2具有相同的长度
如果你有jquery或同等工具:
var merged_array = $.map(arr1, function(e, i) {
return [arr2[i], e];
});
如果没有,那么就使用for
循环,同样的想法。
var merged_array = []
for (var i = 0; i < arr1.length && i < arr2.length; i++) {
merged_array[i] = [arr2[i], arr1[i]];
}
var result = new Array();
for (var i=0; i<arr1 .length && i<arr2.length ; i++) {
result[i] = new Array();
result[i][0] = arr1[i];
result[i][1] = arr2[i];
}
我可能会扩展array
对象,特别是如果这是一个常见的任务。像这样:
Array.prototype.myMerge = function(arr){
var returnArr = [];
for(var i = 0, len = this.length; i < len; i++){
returnArr[i] = [this[i], arr[i]];
}
return returnArr;
};
那么你可以这样称呼它:
var merged_array = arr1.myMerge(arr2)
当然,您必须对数组的长度添加一些错误检查,该函数假设arr1比arr2更长或相同的长度。但这取决于你想做什么,如果arr1和arr2是不同的长度,你的问题似乎假设它们是相同的长度。
如果包含了underscore.js库(prototype.js也有类似的东西),则可以使用_.zip(array1,array2)。它们提供了3个数组的示例用法。
From http://underscorejs.org/#zip:
zip_.zip(*数组)将每个数组的值与对应位置的值合并在一起。在具有通过匹配数组索引进行协调的独立数据源时非常有用。如果您正在使用嵌套数组的矩阵,则zip。Apply可以用类似的方式对矩阵进行转置。
_.zip(['moe', 'larry', 'curly'], [30, 40, 50], [true, false, false]);
=> [["moe", 30, true], ["larry", 40, false], ["curly", 50, false]]
相关文章:
- 如何使用 node.js 比较两个 json 数组
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 访问$.ajax()函数中的两个不同数组
- 正在更新mongod中两个对象内部的数组
- 如何使用javascript合并两个对象数组
- 比较包含多个值对的两个JavaScript数组
- jQuery对象从html表中查询为两个一维数组,用于Chartist图表
- 检查来自不同数组的两个元素的一个属性是否相等
- 如何在javascript中合并两个对象数组
- JavaScript - 合并两个对象数组并根据属性值删除重复数据
- 效率:整数数组的一个子集中两个项之间的最大差值
- 将两个值组合成extjs 4.1的形式
- 如何将中的两个geoJSON功能集合添加到两个层组中
- 在 JQuery 验证中验证多个“数组命名”文件输入和下拉列表
- 在一个区间之间生成两个随机数组
- 使用两个捕获组和JavaScript的replace()函数
- 通过找到两个重复组之一的正则表达式组
- 从Javascript中的两个子数组中获取随机结果
- 如何在一个可选的非捕获组中创建两个捕获组
- paper.js:获取两个层/组的原始像素数据