我有修正資本化,資本化異常單詞列表功能:JavaScript正則表達式性能。
var line = "some long string of text";
["AppleScript", "Bluetooth", "DivX", "FireWire", "GarageBand",
"iPhone", "iTunes", "iWeb", "iWork", "JavaScript", "jQuery", "MacBook",
"MySQL", "PowerBook", "PowerPoint", "QuickTime", "TextEdit", "TextMate",
// ...
"Wi-Fi", "Xcode", "Xserve", "XMLHttpRequest"].forEach(function(name) {
line = line.replace(RegExp(name, "gi"), name);
});
現在我面臨的問題是,大多數輸入字符串將包含平均介於0和這些詞3之間。顯然,現在我做了幾十個(可能有幾百個;這個數組有着不可思議的隨時間增長的趨勢)函數調用,它本質上什麼都不做。
如何讓此代碼更快並擺脫不必要的函數調用?
示例輸入:
我的iPhone應用程序具有的UIViewController下一個用戶的形式。當我再次啓動應用程序時,我的一些UIView會改變它的位置和大小。 (這些UIViews取決於鍵盤的位置)某處肯定是我的錯。我試圖找出當應用程序從後臺重新啓動並且可以完成UIView更改時發生了什麼。
電話不是不必要的嗎?如果你想檢查大寫每個字符串,那麼你需要檢查每一個...只是因爲它不存在並不意味着檢查沒有必要... – 2011-03-16 11:54:45
@Sam但是必要的整個輸入?或者可以創建一個更智能的正則表達式來完成一次函數調用中的所有檢查? – 2011-03-16 11:59:31
好的,我明白你的觀點。 – 2011-03-16 12:04:35