搜索單個字符的數組的最佳方法是什麼,如果找到則返回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