मेरे पास एक ऐसा फ़ंक्शन है जो असामान्य रूप से पूंजीकृत शब्दों की सूची के लिए पूंजीकरण को सुधारता है:जावास्क्रिप्ट regexp प्रदर्शन।
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 के बीच औसत होंगे। जाहिर है, अब मैं दर्जनों (और संभावित रूप से सैकड़ों कर रहा हूं; उस सरणी में समय के साथ बढ़ने की एक अनोखी प्रवृत्ति है) फ़ंक्शन कॉल की जो अनिवार्य रूप से कुछ भी नहीं करती है।
मैं इस कोड को तेज़ी से कैसे बना सकता हूं और अनावश्यक फ़ंक्शन कॉल से छुटकारा पा सकता हूं?
उदाहरण इनपुट:
मेरा आईफोन एप्लिकेशन UIViewController के तहत एक उपयोगकर्ता प्रपत्र है। जब मैं फिर से आवेदन शुरू करता हूं तो मेरे कुछ यूआईवीव अपनी स्थिति और आकार बदलते हैं। (ये UIViews कीबोर्ड स्थिति पर निर्भर करते हैं) कहीं निश्चित रूप से मेरी गलती है। मैं यह समझने की कोशिश करता हूं कि एप्लिकेशन पृष्ठभूमि से फिर से शुरू होता है और जहां UIView परिवर्तन किए जा सकते हैं।
कॉल असफल नहीं हैं? यदि आप प्रत्येक स्ट्रिंग को कैपिटल बनाना चाहते हैं तो आपको प्रत्येक के लिए जांच करनी होगी ... सिर्फ इसलिए कि यह अस्तित्व में नहीं है इसका मतलब यह नहीं है कि चेक आवश्यक नहीं था ... –
@ सैम लेकिन यह आवश्यक है पूरा इनपुट? या एक स्मार्ट regexp तैयार किया जा सकता है कि एक समारोह कॉल में सभी चेक करेगा? –
ठीक है मैं आपका बिंदु देखता हूं। –