0

我有一个数值:对列表如下:

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    
}

如何检查上面的 value:pair 列表中是否存在数值:pair?

4

2 回答 2

5

在第一个示例中,您使用 JavaScript对象,而不是数组。因此要检查具有名称的元素是否value存在并且等于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

于 2013-04-06T17:12:17.880 回答
0

不确定您的确切意思;如果你的意思是搜索一个值:对,那么 VisioN 的解决方案是完美的。但是假设您不想检查例如该对是否2:0存在,但您想获取以您level1开头的所有条目的列表,2您可以使用:

level1.filter(function(v){ return v[0] === '2'; })
于 2013-04-06T17:16:54.710 回答