Esta es una pregunta de entrevista de la compañía lgzx. Requiere agregar un método a la cadena de js para eliminar los espacios en blanco (incluidos espacios, tabulaciones, cambios de formulario, etc.) en ambos lados de la cadena.
Copie el código de código de la siguiente manera:
String.prototype.trim = función() {
//return this.replace(/[(^/s+)(/s+$)]/g,"");//Elimina los espacios en blanco de la cadena
//devuelve this.replace(/^/s+|/s+$/g,"");
return this.replace(/^/s+/g,"").replace(//s+$/g,"");
}
JQuery1.4.2, utilizado por Mootools
Copie el código de código de la siguiente manera:
función trim1(cadena){
return str.replace(/^(/s|/xA0)+|(/s|/xA0)+$/g, '');
}
jQuery1.4.3, utilizado por Prototype. Este método elimina g para mejorar ligeramente el rendimiento. Tiene un mejor rendimiento al procesar cadenas a pequeña escala.
Copie el código de código de la siguiente manera:
función trim2(cadena){
return str.replace(/^(/s|/u00A0)+/,'').replace(/(/s|/u00A0)+$/,'');
}
Después de realizar pruebas de rendimiento, Steven Levithan propuso la forma más rápida de recortar cadenas en JS, que tiene un mejor rendimiento al procesar cadenas largas.
Copie el código de código de la siguiente manera:
función trim3(cadena){
str = str.replace(/^(/s|/u00A0)+/,'');
for(var i=str.length-1; i>=0; i--){
if(//S/.test(str.charAt(i))){
cadena = cadena.substring(0, i+1);
romper;
}
}
devolver cadena;
}
Lo último que hay que mencionar es que ECMA-262 (V5) agrega un método de recorte nativo (15.5.4.20) a String. Además, los métodos trimLeft y trimRight se agregaron a String en el motor Molliza Gecko 1.9.1.