inArray&在字符串中

时间:2012-02-10 05:53:05

标签: javascript jquery arrays

我需要检查字符串是否在数组中作为数组中任何项的字符串的一部分。 让我们说数组中的一个项目是“Hello World”,字符串是“ello”,我需要返回true。

4 个答案:

答案 0 :(得分:2)

是的,你可以做到这一切。或 -

if(String(array).indexOf('ello')!=-1){
     ello is in the array
}

答案 1 :(得分:1)

只需单步执行数组并检查每个字符串。

function isStringInArray(data, stringToFind) {
    for (var i = 0; i < data.length; i++) {
        if (data[i].indexOf(stringToFind) > -1) return true;
    }
    return false;
}

答案 2 :(得分:1)

如果您使用的是现代浏览器,或想要polyfill Array.prototype.some()(或者使用Underscore等库)。

var contains = ['A', 'Hello World'].some(function(member) {
    return ~member.indexOf('ello');
});

jsFiddle

你标记了这个jQuery,所以你也可以使用它(可以在你可能关心的所有浏览器中使用)...

var contains = !!$.grep(['A', 'Hello World'], function(member) {
    return ~member.indexOf('ello');
}).length;

jsFiddle

答案 3 :(得分:0)

你可以这样做:

function contains(arr, str) {
    var i = 0,
        len = arr.length;

    for (; i < len; ++i) {
        if (arr[i].indexOf(str) > -1) {
            return true;
        }
    } 
    return false; 
}

显然,它在某些方面很幼稚,例如它不考虑区分大小写,也不会告诉您匹配的项目数量或数量,但您可以轻松修改它。