1

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

这是我到目前为止所拥有的:

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: Unexpected token ( 错误现在。

我也试过这个

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');
    }
4

3 回答 3

6

在数组中搜索特定元素:

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]);
}

但不要将两者混合使用。

于 2013-04-26T17:26:03.410 回答
2

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

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');
}
于 2013-04-26T17:26:35.920 回答
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');
}

来自 jQuery.inArray() API 文档

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

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


于 2013-04-26T17:26:18.980 回答