Selama bekerja, Anda sering menemukan masalah menggabungkan 2 atau lebih string menjadi satu string. Umumnya ada tiga cara untuk menangani masalah jenis ini di JS. Berikut adalah daftar satu per satu dan buat perbandingan khusus dari kinerja mereka.
Metode pertama menggunakan konektor "+" untuk menghubungkan string yang akan terhubung:
str = "a"; str+= "b";
Tidak ada keraguan bahwa metode ini adalah yang paling nyaman dan cepat. Jika Anda hanya menghubungkan kurang dari 100 string, disarankan untuk menggunakan metode ini.
Metode kedua menggunakan array sebagai perantara untuk menghubungkan string dengan bergabung:
var arr = array baru (); arr.push (a); arr.push (b); var str = arr.join ("");Situs web W3School memperkenalkan bahwa metode ini mengkonsumsi lebih sedikit sumber daya daripada yang pertama dan lebih cepat. Kami nantinya akan memverifikasi apakah ini kasusnya melalui eksperimen.
Metode ketiga menggunakan properti objek untuk menghubungkan string
function stringConnect(){ this._str_=new Array();}stringConnect.prototype.append=function(a){ this._str_.push(a);}stringConnect.prototype.toString=function(){ return this._str_.join();} var mystr=new stringConnect; mystr.append ("a"); var str = mystr.toString ();Gunakan kode berikut untuk membandingkan kinerja tiga metode dan sesuaikan jumlah string koneksi dengan mengubah nilai C:
var str = ""; var d1, d2; var c = 5000; // Jumlah koneksi String // ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- mystr.append ("a"); } str = mystr.toString (); d2 = tanggal baru (); console.log (d2.getTime ()-d1.getTime ()); // -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Date();console.log(d2.getTime()-d1.getTime());//-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Saya menyesuaikan C masing -masing sama dengan 5000, 50000, 500000, dan 50000000. Setiap nilai diukur masing -masing 10 kali, dan hasil akhirnya adalah sebagai berikut:
C = 5000
Waktu rata -rata dalam milidetik
Tipe ketiga 3 2 2 3 1 2 2 1 1 1 1 1.8
Tipe kedua 1 3 0 3 1 3 4 1 4 2 2.2
Jenis pertama 0 0 0 0 0 0 0 1 1 1 1 1 0.5
C = 50000
Tipe Ketiga 22 12 9 14 12 13 13 13 10 17 13.5
Tipe Kedua 8 13 12 8 11 11 8 9 8 9 9.7
Tipe pertama 7 12 5 11 10 10 10 13 16 12 10.6
C = 500000
Tipe ketiga 104 70 74 69 76 77 69 102 73 73 78.7
Tipe Kedua 78 100 99 99 100 98 96 71 94 97 93.2
Tipe pertama 90 87 83 85 85 83 84 83 88 86 85.4
C = 5000000
Tipe ketiga 651 871 465 444 1012 436 787 449 432 444 599.1
Tipe kedua 568 842 593 747 417 747 719 549 573 563 631.8
Tipe pertama 516 279 616 161 466 416 201 495 510 515 417.5
Saat menghitung 5000000, parameter acak ditambahkan ke bilah alamat, yang harus menghindari dampak cache. Menilai dari hasil, metode pertama tidak mengkonsumsi lebih dari dua metode lainnya, dan bahkan lebih menguntungkan, yang jelas tidak konsisten dengan instruksi dalam manual.
Sistem Uji: Menangkan 7 Flagship
Browser: Chrome 52.0.2739.0 m
Artikel di atas secara singkat membahas tiga metode koneksi string dan perbandingan kinerja di JS adalah semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.