Ini adalah pertanyaan wawancara dari perusahaan lgzx. Ini memerlukan penambahan metode ke String js untuk menghapus karakter spasi (termasuk spasi, tab, feed formulir, dll.) di kedua sisi string.
Copy kode kodenya sebagai berikut:
String.prototipe.trim = fungsi() {
//return this.replace(/[(^/s+)(/s+$)]/g,"");//Hapus karakter spasi dalam string
//kembalikan ini.ganti(/^/s+|/s+$/g,"");
kembalikan ini.replace(/^/s+/g,"").replace(//s+$/g,"");
}
JQuery1.4.2, digunakan oleh Mootools
Copy kode kodenya sebagai berikut:
fungsi trim1(str){
return str.replace(/^(/s|/xA0)+|(/s|/xA0)+$/g, '');
}
jQuery1.4.3, digunakan oleh Prototipe. Metode ini menghilangkan g untuk sedikit meningkatkan kinerja. Metode ini memiliki kinerja yang lebih baik saat memproses string dalam skala kecil.
Copy kode kodenya sebagai berikut:
fungsi trim2(str){
return str.replace(/^(/s|/u00A0)+/,'').replace(/(/s|/u00A0)+$/,'');
}
Setelah melakukan pengujian performa, Steven Levithan mengusulkan cara tercepat untuk memangkas string di JS, yang memiliki performa lebih baik saat memproses string panjang.
Copy kode kodenya sebagai berikut:
fungsi trim3(str){
str = str.ganti(/^(/s|/u00A0)+/,'');
for(var i=str.panjang-1; i>=0; i--){
if(//S/.test(str.charAt(i))){
str = str.substring(0, i+1);
merusak;
}
}
kembalikan str;
}
Hal terakhir yang perlu disebutkan adalah ECMA-262 (V5) menambahkan metode trim asli (15.5.4.20) ke String. Selain itu, metode trimLeft dan trimRight telah ditambahkan ke String di mesin Molliza Gecko 1.9.1.