搜索单个字符的数组的最佳方法是什么,如果找到则返回true,如果不使用JS则返回false?当在数组中搜索单个字符时返回true或false
例如:
search["adipisci","adipiscix"]
回报虚假的数组元素1和真正的数组元素2时“sciipx”搜索
非常感谢!
搜索单个字符的数组的最佳方法是什么,如果找到则返回true,如果不使用JS则返回false?当在数组中搜索单个字符时返回true或false
例如:
search["adipisci","adipiscix"]
回报虚假的数组元素1和真正的数组元素2时“sciipx”搜索
非常感谢!
以下应该做的伎俩:
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/
NB:如果你需要它,循环可以进一步优化。
感谢您的答案@draevor。可以通过这种方式提醒比赛:'如果(找到){matches} [i]; //如果你喜欢 alert(matches),你可以做elems [i]; }' – methuselah
我真的不明白你的问题... – deviousdodo
对不起,我打算写我该怎么做才能得到匹配的输出......它只是'alert(matches)'? – methuselah
因此,只有当搜索词中的所有字符都位于数组元素中时,它才会返回true。 –
是的,只有当搜索词中的所有字符都位于数组元素 – methuselah