que tienen una función que corrige la capitalización de una lista de palabras inusualmente capitalizadas:Regexp de 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);
});
Ahora el problema que estoy enfrentando es que la mayoría de las cadenas de entrada contendrán una media de entre 0 y 3 de estas palabras. Obviamente ahora estoy haciendo docenas (y potencialmente cientos, esa matriz tiene una extraña tendencia a crecer con el tiempo) de llamadas a funciones que esencialmente no hacen nada.
¿Cómo puedo hacer que este código sea más rápido y deshacerme de las llamadas a funciones innecesarias?
Ejemplo de entrada:
Mi aplicación iPhone tiene una forma de usuario bajo UIViewController. Cuando inicio la aplicación otra vez, algunos de mis UIView cambian sus posiciones y tamaños. (Estas UIView dependen de la posición del teclado) En algún lugar es definitivamente mi culpa. Intento entender qué sucede cuando la aplicación se inicia nuevamente desde el fondo y donde se pueden realizar los cambios de UIView.
las llamadas no son innecesarias ¿verdad? Si desea marcar con mayúscula cada cadena, deberá verificar cada una de ellas ... El hecho de que no exista no significa que la verificación no fue necesaria ... –
@Sam Pero es necesario durante el toda la entrada? ¿O podría redactarse una expresión regular más inteligente que hiciera todos los controles en una llamada a función? –
bien, veo tu punto. –