如何遍历数组并检查数组值

时间:2013-04-26 17:23:44

标签: javascript jquery arrays for-loop

所以我有一个数组,我想循环遍历数组并检查其中的值是否与某些字符串相匹配,如果是,则执行某些操作。

这是我到目前为止所做的:

var rgt_count = a_related_genres_leon.length; // <- 3 items

for (var i = 0; i < rgt_count; i++) {

    if inArray("Music", a_related_genres_leon) {
        console.log('Music');
    } else if inArray("TV", a_related_genres_leon) {
        console.log('TV');
    } else if inArray("Comedy", a_related_genres_leon) {
        console.log('Comedy');
    }
}

我收到了一个Uncaught SyntaxError:意外的令牌(现在是错误。

我也试过这个

if text($.inArray("Music", a_related_genres_leon)) {
        console.log('Music');
    } else if text($.inArray("TV", a_related_genres_leon)) {
        console.log('TV');
    } else if text($.inArray("Comedy", a_related_genres_leon)) {
        console.log('Comedy');
    }

3 个答案:

答案 0 :(得分:5)

搜索数组中的特定元素:

if ($.inArray("Music", a_related_genres_leon) > -1) {
    console.log('Music');
}
if ($.inArray("TV", a_related_genres_leon) > -1) {
    console.log('TV');
}
if ($.inArray("Comedy", a_related_genres_leon) > -1) {
    console.log('Comedy');
}

或迭代数组中的所有元素

var rgt_count = a_related_genres_leon.length; // <- 3 items
for (var i = 0; i < rgt_count; i++) {
    console.log(a_related_genres_leon[i]);
}

但不要混合两者。

答案 1 :(得分:1)

试试这个:

if ($.inArray("Music", a_related_genres_leon) > -1) {
    console.log('Music');
} else if ($.inArray("TV", a_related_genres_leon) > -1) {
    console.log('TV');
} else if ($.inArray("Comedy", a_related_genres_leon) > -1) {
    console.log('Comedy');
}

From the jQuery.inArray() API Docs

  

$ .inArray()方法类似于JavaScript的原生.indexOf()   方法,因为它找不到匹配项时返回-1。如果   数组中的第一个元素与value匹配,$ .inArray()返回0。

     

因为JavaScript将0视为松散等于false(即0 ==   假,但是0!== false),如果我们检查是否存在值   在数组中,我们需要检查它是否不等于(或大于)   -1


答案 2 :(得分:1)

请参阅此方法以获取正确的语法和用法

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Statements/if...else http://api.jquery.com/jQuery.inArray/

if($.inArray("Music", a_related_genres_leon) > -1) {
    console.log('Music');
} else if($.inArray("TV", a_related_genres_leon) > -1) {
    console.log('TV');
} else if($.inArray("Comedy", a_related_genres_leon) > -1) {
    console.log('Comedy');
}