在数组中搜索单个字符的最佳方法是什么,如果找到则返回true,如果不使用JS则返回false?
例如:
search["adipisci","adipiscix"]
当“sciipx”被搜索时,在数组元素1 中返回 false,在数组元素2中返回
非常感谢!
答案 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/
注意:如果需要,可以进一步优化循环。