Memisahkan Rentetan Besar kepada Potongan Saiz N dalam JavaScript
Pembahagian rentetan ialah tugas biasa dalam pengaturcaraan, terutamanya apabila berurusan dengan set data yang besar. Dalam JavaScript, terdapat beberapa cara untuk memisahkan rentetan, tetapi prestasi menjadi penting apabila berurusan dengan rentetan yang sangat panjang.
Satu pendekatan berkesan untuk membahagi rentetan kepada ketulan bersaiz N ialah menggunakan ungkapan biasa dengan String.prototype. kaedah perlawanan. Kaedah ini menerima ungkapan biasa dan mengembalikan tatasusunan subrentetan yang sepadan.
Contohnya, untuk memisahkan rentetan "1234567890" kepada ketulan saiz 2:
<code class="javascript">const str = "1234567890"; const chunks = str.match(/.{1,2}/g); console.log(chunks); // ["12", "34", "56", "78", "90"]</code>
Ungkapan biasa ini sepadan dengan subrentetan panjang 1 hingga 2. Jika saiz rentetan bukan gandaan tepat saiz ketulan, ketulan terakhir mungkin lebih kecil:
<code class="javascript">const str = "123456789"; const chunks = str.match(/.{1,2}/g); console.log(chunks); // ["12", "34", "56", "78", "9"]</code>
Untuk sebarang rentetan dengan saiz subrentetan maksimum n, rentetan biasa berikut ungkapan boleh digunakan:
<code class="javascript">str.match(/.{1,n}/g);</code>
Pendekatan ini biasanya berprestasi, walaupun untuk rentetan besar. Walau bagaimanapun, untuk rentetan yang mungkin mengandungi baris baharu atau pemulangan pengangkutan, ungkapan biasa berikut boleh mengendalikan kes tersebut:
<code class="javascript">str.match(/(.|[\r\n]){1,n}/g);</code>
Untuk menjadikan fungsi ini boleh diguna semula, fungsi boleh ditakrifkan:
<code class="javascript">function chunkString(str, length) { return str.match(new RegExp('.{1,' + length + '}', 'g')); }</code>
Fungsi ini boleh digunakan untuk membelah rentetan kepada ketulan mana-mana saiz yang dikehendaki, memastikan prestasi yang cekap walaupun untuk set data yang besar.
Atas ialah kandungan terperinci Bagaimana untuk Memisahkan Rentetan Besar kepada Ketulan Saiz N dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!