我有这样的数组
var aaa = [
[value1,value2],[0,0]],
[[value3,value4],[0,1]],
[[value5,value6],[1,0]],
[[value7,value8],[0,2]],
[[value9,value10],[1,1]],
[value11,value12],[2,0]]
];
我想根据值[0,1]
,[0,2]
等将此数组拆分为多个数组。
即
array1 = [[value1,value2],[value3,value4],[value7,value8]];
array2 = [[value5,value6],[value9,value10]];
array3 = [[value11,value12]];
我该怎么做?
答案 0 :(得分:1)
使用此:
var aaa = [
[['value1','value2'],[0,1]],
[['value3','value4'],[0,2]],
[['value5','value6'],[1,0]],
[['value7','value8'],[0,3]],
[['value9','value10'],[1,1]],
[['value11','value12'],[2,0]]];
var result = {};
for (var i = 0; i < aaa.length; i += 1) {
if (!result[aaa[i][1][0]]) {
result[aaa[i][1][0]] = [];
}
result[aaa[i][1][0]].push(aaa[i][0]);
}
之后:
result[0]; //[[value1,value2],[value3,value4],[value7,value8]];
result[1]; //[[value5,value6],[value9,value10]];
result[2]; //[[value5,value6],[value9,value10]];
答案 1 :(得分:0)
假设:
[['value1','value2'],[0,1]]
在这个例子中: 0告诉必须存储值的数组。 1告诉它必须存储在这个数组的哪个单元格中。
此代码可以完成工作:
var aaa = [
[['value1','value2'],[0,1]],
[['value3','value4'],[0,2]],
[['value5','value6'],[1,0]],
[['value7','value8'],[0,3]],
[['value9','value10'],[1,1]],
[['value11','value12'],[2,0]]
];
var arr_result = new Array();
for (var k in aaa) {
if (arr_result[aaa[k][1][0]] == undefined) {
arr_result[aaa[k][1][0]] = new Array();
}
arr_result[aaa[k][1][0]][aaa[k][1][1]] = aaa[k][0];
}
警告:这可能会让空单元格,就像在这个例子中一样,没有[0,0]单元格。