我需要使用Javascript來搜索首字母(不確定這是不是正確的名稱,如果不是,請改變問題)。例如:使用主題"Abraham Maslow"
將返回true
,並搜索"John"
在"Johnathan Smith"
也將是true
在JavaScript中優化縮寫搜索
搜索"mas"
。但是,在"Marygold Ding"
上搜索"gold"
將是false
。
我最初以爲的:
function search(initial, subjectsArray) {
var result = [];
var tmp = null;
var initialLowercase = initial.toLowerCase();
for (var i = 0; i < subjectsArray.length; i++) {
tmp = subjectsArray[i].toLowerCase();
if (tmp.startsWith(initialLowercase)
|| tmp.indexOf(' ' + initialLowercase) != -1) {
result.push(subjectsArray[i]);
}
}
return result;
}
如何優化這個代碼?
所以,基本上,你有一個名字(或名稱列表),你想檢查某個子字符串是否是名字或姓氏的開始?首字母縮寫不是正確的詞,但我也想不出一個更好的詞。你可以對格式做出什麼保證? – 2012-02-16 11:58:57
縮略語? :) – Joe 2012-02-16 11:59:53
@AnthonyGrist主題的格式?它們將是任何包含一個或多個空格的字符串列表......例如,其中一個名稱將只是「卡爾森」,而另一個名稱則是「John Ronald Reuel Tolkien」。 – RedDragon 2012-02-16 12:01:25