在数组中搜索单个字符时返回true或false

时间:2011-11-03 09:36:03

标签: javascript

在数组中搜索单个字符的最佳方法是什么,如果找到则返回true,如果不使用JS则返回false?

例如:

search["adipisci","adipiscix"] 
“sciipx”被搜索时,

在数组元素1 中返回 false,在数组元素2中返回

非常感谢!

1 个答案:

答案 0 :(得分:1)

以下应该可以解决问题:

var search = "sciipx".split('');
var elems = ["adipisci","adipiscix"];
var matches = [];

for (var i = 0; i < elems.length; i++) {
    var found = true;
    for (var j = 0; j < search.length; j++) {
        if (elems[i].indexOf(search[j]) < 0) {
            found = false;
            break;
        }
    }
    if (found) {
        matches.push(i); // you can do elems[i] if you prefer
    }
}

最后匹配将是一个匹配字符串索引的数组。 这是小提琴:http://jsfiddle.net/W3Xvy/

注意:如果需要,可以进一步优化循环。