Rumah >hujung hadapan web >tutorial js >Perbezaan antara kaedah penghirisan rentetan dan subrentetan
JavaScript ialah bahasa pengaturcaraan dinamik dan paling popular yang boleh digunakan pada kedua-dua bahagian klien dan pelayan. JavaScript digunakan untuk membuat halaman web interaktif. Ia mempunyai banyak rangka kerja, seperti React JS, Angular JS, Node JS, dll.
JavaScript mengandungi banyak fungsi terbina dalam untuk melaksanakan pelbagai tugas. Terdapat fungsi untuk memanipulasi rentetan. Str.slice dan str.substring ialah dua fungsi inbuit yang boleh beroperasi pada rentetan. Walaupun fungsi kedua-dua fungsi ini hampir serupa, terdapat beberapa perbezaan antara keduanya
Kaedah ini mengembalikan sebahagian daripada rentetan berdasarkan indeks yang ditentukan. Sintaks kaedah slice adalah seperti berikut -
string.slice (start, end)
Kaedah ini mempunyai dua parameter, mula dan tamat. Mula menentukan indeks dari mana ia harus bermula, dan indeks akhir memberitahu indeks terakhir rentetan untuk dikembalikan. Indeks pengakhiran tidak disertakan semasa mengembalikan rentetan. Pengakhiran tidak perlu. Jika penghujung tidak ditentukan, mengembalikan keseluruhan rentetan bermula pada indeks permulaan yang ditentukan. Di sini, indeks bermula dari "0".
Kaedah ini juga serupa dengan kaedah menghiris, mengembalikan sebahagian daripada rentetan sebagai rentetan baharu. Sintaks kaedah ini adalah seperti berikut -
string.substring (start, end)
Di sini, mula dan tamat ialah dua parameter, menunjukkan indeks rentetan yang perlu dikembalikan. Jika indeks akhir tidak ditentukan, keseluruhan rentetan bermula pada indeks permulaan yang ditentukan dikembalikan. Indeks pengakhiran tidak disertakan semasa mengembalikan rentetan. Indeks bermula dari "0".
Pertimbangkan rentetan "Selamat Pagi" dengan panjang tali 12. Marilah kita memahami fungsi kaedah ini melalui contoh berikut -
const greeting = 'Good Morning'
Jika indeks permulaan adalah positif, kedua-dua kaedah memberikan output yang sama.
greeting.slice (5) // 'Morning' greeting.substring (5) // 'Morning'
Di sini, indeks diambil sebagai 5, jadi rentetan bermula dari kedudukan ke-5 rentetan utama dikembalikan.
Jika indeks yang diberikan adalah negatif, kedua-dua kaedah ini akan memberikan output yang berbeza seperti yang ditunjukkan di bawah.
greeting.slice (-7) // 'Morning' greeting.substring (-7) // 'Good Morning'
Dalam kaedah slice, apabila indeks negatif diberikan, ia dikira dari hujung rentetan dan mengembalikan rentetan bermula dari kedudukan indeks tersebut. Dalam subrentetan, sebarang nombor negatif dianggap sebagai sifar. Jadi ia bermula pada indeks 0 dan mengembalikan keseluruhan rentetan.
Kedua-dua kaedah mengembalikan rentetan kosong apabila melepasi panjang rentetan.
greeting.slice (12) // '' greeting.substring (12) // ''
Indeks permulaan lebih besar daripada indeks akhir
greeting.slice (9, 5) // '' greeting.substring (9, 5) // 'Morn'
Kaedah slice mengembalikan rentetan kosong manakala kaedah subrentetan menukar indeks ini dan mengembalikan rentetan. Indeks penamat tidak disertakan.
Apabila kedua-dua indeks permulaan dan akhir adalah negatif
greeting.slice (-12, -8) // 'Good' greeting.substring (-12, -8) // ''
Kaedah potong mengira dari hujung rentetan ke indeks yang ditentukan dan mengembalikannya. Oleh kerana kedua-dua indeks adalah negatif dan kaedah subrentetan menganggapnya sebagai sifar, ia bermula pada sifar dan berakhir pada sifar. Oleh itu, rentetan kosong dikembalikan.
Apabila indeks permulaan negatif dan indeks akhir positif
greeting.slice (-3, 5) // '' greeting.substring (-3, 5) // 'Good'
Di sini, memandangkan indeks akhir muncul sebelum indeks permulaan, kaedah hirisan mengembalikan rentetan kosong. Tetapi kaedah subrentetan menganggap indeks negatif sebagai sifar dan bermula dari indeks 0 hingga indeks ke-5 tidak termasuk indeks tersebut. Oleh itu, ia mengembalikan "Baik".
Apabila indeks permulaan positif tetapi indeks akhir negatif
greeting.slice (5, -3) // 'Morn' greeting.substring (5, -3) // 'Good'
Kaedah slice mengembalikan "Morn" sebagai output dan kaedah Substring mengembalikan "Good". Kaedah Subrentetan menganggap indeks akhir sebagai sifar, dan memandangkan indeks permulaan (5) lebih besar daripada indeks akhir (0), ia hanya menukar kedudukannya (0,5) dan mengembalikan rentetan.
Jadual di bawah menyerlahkan perbezaan penting antara kaedah hirisan dan kaedah subrentetan -
Kaedah menghiris |
Kaedah sub rentetan |
---|---|
Ia mengembalikan sebahagian daripada rentetan |
Juga digunakan untuk mengeluarkan sebahagian daripada rentetan |
Ia membenarkan pengindeksan negatif dan mengembalikan kiraan rentetan dari belakang |
Jika indeks negatif diberikan, ia dianggap sebagai kedudukan indeks 0 (sifar). |
Jika indeks permulaan lebih besar daripada indeks penamat, kembalikan rentetan kosong |
Jika indeks mula lebih besar daripada indeks akhir, ia hanya menukar kedudukan mereka dan mengembalikan rentetan berdasarkan hasil tersebut |
Kaedah string.slice dan string.substring digunakan untuk operasi rentetan. Bergantung pada parameter dan situasi tertentu, semuanya adalah serupa. Perbezaan utama pertama antara mereka ialah indeks mereka adalah negatif, seperti yang ditunjukkan dalam contoh di atas. Yang kedua ialah apabila indeks permulaan lebih besar daripada indeks akhir.
Atas ialah kandungan terperinci Perbezaan antara kaedah penghirisan rentetan dan subrentetan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!