2013-11-23 22 views
0

我有一個存儲我這樣的一些值的數組:JavaScript的:有多個值推陣列上相同指數

array[0] = "string", "string" 
array[1] = "string", "string" 
array[2] = "string", "string" 
array[3] = "string" 

正如你看到的,有時我有相同的索引值2,但有時我不。 然後,我需要將這些值推送到另一個數組,一個一個值。

我不能使用此:

for(var i= 0; i< 4 ; i++){ 
    newarray.push(array[i][0]); 
    newarray.push(array[i][1]); 
} 

否則我會推空值(我猜)。

我怎樣才能檢查,如果我有2值在該指數或一個值,所以我可以使用不同的圈子?

謝謝!

回答

1

您的代碼可能無法正常運行,當你這樣做:

array[0] = "a", "b", "c" 

將只分配給"a"array[0]"c"回報。要指定使用這些值另一個數組,你應該使用這樣的事情:

array[0] = ["a", "b", "c"] 

爲了保持一致性的結構,如果我陣列我會用一個陣列結構中也只有一個元素。

array[1] = ["a"] 

使用這個,你可以迭代你的數組,然後通過你的嵌套數組來獲得它們的值。

​​

小提琴:http://jsfiddle.net/nDhP5/

+0

是的,我曾陣列[0] = [ 「一」, 「B」, 「C」]忘記輸入「[..]」。 但這樣我不會得到空白值,當我在一些標籤上顯示它們? –

+0

沒有理解你對標籤的問題。你能提供更多的上下文嗎? –

+0

我的項目是關於創建2個團隊:) 我有另外2個數組,所以我從另一個數組推動這些值。 然後我想顯示這兩個團隊之間的值。 –

0

如何檢查,如果我有對指數或一個值2倍的值,所以我 可以使用不同的cicle?

假設您的意思是您將一個數組中的多個值存儲在一個鍵上,則可以檢查包含這些值的數組的長度。這樣你可以看到你是否有1或2或更多的值。

if (array[i].length == 1) { // you have 1 value } 

if (array[i].length == 2) { // you have 2 values } 
0

你可以像這樣

var Rdata = []; 
var temp_ray = ["v1","v2","v3"]; 
Rdata.push(temp_ray); 
var Rlen = Rdata.length; 
console.log('Rdata length '+Rlen);  // 1 

的jsfiddle :: Jsbin demo

相關問題