Это вопрос на собеседовании от компании lgzx. Требуется добавить метод в строку js для удаления пробельных символов (включая пробелы, табуляции, каналы формы и т. д.) с обеих сторон строки.
Скопируйте код кода следующим образом:
String.prototype.trim = функция() {
//вернуть this.replace(/[(^/s+)(/s+$)]/g,"");//Удалить пробелы в строке
//возвращаем this.replace(/^/s+|/s+$/g,""); //
return this.replace(/^/s+/g,"").replace(//s+$/g,"");
}
JQuery1.4.2, используемый Mootools
Скопируйте код кода следующим образом:
функция обрезка1(строка){
return str.replace(/^(/s|/xA0)+|(/s|/xA0)+$/g, '');
}
jQuery1.4.3, используемый Prototype. Этот метод удаляет g, чтобы немного улучшить производительность. Он обеспечивает лучшую производительность при обработке строк в небольших масштабах.
Скопируйте код кода следующим образом:
функция обрезка2(строка){
return str.replace(/^(/s|/u00A0)+/,'').replace(/(/s|/u00A0)+$/,'');
}
После проведения тестирования производительности Стивен Левитан предложил самый быстрый способ обрезки строк в JS, который обеспечивает лучшую производительность при обработке длинных строк.
Скопируйте код кода следующим образом:
функция обрезка3(строка){
str = str.replace(/^(/s|/u00A0)+/,'');
for(var i=str.length-1; i>=0; я--){
if(//S/.test(str.charAt(i))){
стр = стр.подстрока(0, я+1);
перерыв;
}
}
вернуть ул;
}
Последнее, что следует упомянуть, это то, что ECMA-262 (V5) добавляет в String собственный метод обрезки (15.5.4.20). Кроме того, методы TrimLeft и TrimRight были добавлены в String в движке Molliza Gecko 1.9.1.