2013-04-06 40 views
0

我有一個數字值:對列表如下:的Javascript/jQuery的 - IF在陣列和IF值:對

var level1 = {0:1,1:0,2:0,3:0,4:0,5:0,6:0,1:1,2:1,3:1,4:1,5:1}; 

...如果餘改寫成這樣的陣列(其將失去了它的數字格式):

var level1 = ['0:1','1:0','2:0','3:0','4:0','5:0','6:0','1:1','2:1','3:1','4:1','5:1']; 

...我可以檢查是否值這樣的陣列由存在:

if($.inArray(value, level1) > -1) 
{ 
    // let's party  
} 

如何檢查數值:pair是否存在上面的value:pair列表?

+0

'如果(1級[0] == 1)'? – 11684 2013-04-06 17:12:43

回答

5

在第一個示例中,您使用JavaScript 對象,而不是數組。因此,檢查與value name元素是否存在,是否等於pair使用:

if (level1[value] === pair) { 
    // ... 
} 

但你也應該注意,對象的屬性是唯一的。這意味着對象中不能有多個同名的屬性,如{ a: 1, b: 2, a: 3 } - 最終將導致{ a: 3, b: 2 }。所以在你的情況下,最好使用數組。

瞭解更多:https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Working_with_Objects

+0

謝謝,這是有道理的。 – Milan 2013-04-06 17:16:18

0

不知道你的意思究竟是什麼;如果你的意思是搜索一個值:完全匹配,那麼VisioN的解決方案是完美的。但是,假設你不想檢查例如對2:0存在,但你想要得到的所有條目的列表中level12開始,你可以使用:

level1.filter(function(v){ return v[0] === '2'; })