[英]Get subarray from 2D Array
我有一個數組數組
-Array1
[0]+ SubArray1.1
+ SubArray1.2
[1]+ SubArray2.1
+ SubArray2.2
我想提取SubArray1.2,SubArray2.2 ...即每個行的第二個索引,並將其存儲在不同的集合中。
這是我的jsfiddl: http : //jsfiddle.net/gkVyC/1/
到目前為止,這是我嘗試過的:
var Newcollection=[];
$.each(Array1, function (index, value) {
Newcollection.push(value[1]);
});
Newcolletion返回undefined。 我見過slice()
方法,但示例是一維數組。 在我的情況下,我無法實現它。
嘗試這個
var subarray= [];
for(var i = 0; i<yourarray.length; i++) {
subarray.push(yourarray[i][1]); //1 for 2nd element
}
return subarray;
更新資料
檢查這個小提琴
你的小提琴有兩個錯誤
1)您在Array
中推送了兩次array1
Array.push(Array1)
Array.push(Array1)
2)您正在使用Array1
而不是Array
進行循環
$.each(Array1, function (index, value)
小提琴 : http : //jsfiddle.net/TwKf4/
JS :
var input = [[[1,2],[3,4]],[[5,6],[7,8]],[[9,10],[11,12]]];
var output = Array();
for(var i=0;i<input.length;i++)
{
if(input[i][1])
output.push(input[i][1]);
}
console.log(output);
這是您的小提琴更新為所需的輸出:
JS:
var Array = []
var Array1=[]
var Array2=[]
Array1.push(1.1)
Array1.push(2.1)
Array2.push(1.2)
Array2.push(1.2)
Array.push(Array1)
Array.push(Array1)
console.log(Array);
var Newcollection =[];
for(var i=0;i<Array.length;i++)
{
if(Array[i][1])
Newcollection.push(Array[i][1]);
}
for(var i=0;i<Newcollection.length;i++)
alert(Newcollection[i]);
Subarray1
等是實際數組,還是鍵為字符串數字的對象? 從您一開始所說的內容來看,它們好像是{1: 'foo', 2: 'bar'}
,在這種情況下,鍵是字符串'1'
和'2'
。 但是稍后,您嘗試以數字形式訪問它們。
您的問題是,將數組數組放入變量Array
,然后遍歷Array1
:
從你的小提琴:
var Array = []
var Array1=[]
var Array2=[]
Array1.push(1.1) // you're looping over this one
Array1.push(2.1)
Array2.push(1.2)
Array2.push(1.2)
Array.push(Array1) // but they're in here
Array.push(Array1) // and this one should be pushing `Array2`
這是您的小提琴,已更新為可正常使用: http : //jsfiddle.net/gkVyC/2/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.