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 String.slice()
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".
String.substring() kaedah
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'
Kes 1
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.
Kes 2
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.
Kes 3
Kedua-dua kaedah mengembalikan rentetan kosong apabila melepasi panjang rentetan.
greeting.slice (12) // '' greeting.substring (12) // ''
Kes 4
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.
Kes 5
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.
Kes 6
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".
Kes 7
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.
Kaedah menghiris dan substring
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 |
Kesimpulan
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





Soalan dan penyelesaian yang sering ditanya untuk percetakan tiket kertas terma depan dalam pembangunan front-end, percetakan tiket adalah keperluan umum. Walau bagaimanapun, banyak pemaju sedang melaksanakan ...

Tidak ada gaji mutlak untuk pemaju Python dan JavaScript, bergantung kepada kemahiran dan keperluan industri. 1. Python boleh dibayar lebih banyak dalam sains data dan pembelajaran mesin. 2. JavaScript mempunyai permintaan yang besar dalam perkembangan depan dan stack penuh, dan gajinya juga cukup besar. 3. Faktor mempengaruhi termasuk pengalaman, lokasi geografi, saiz syarikat dan kemahiran khusus.

JavaScript adalah asas kepada pembangunan web moden, dan fungsi utamanya termasuk pengaturcaraan yang didorong oleh peristiwa, penjanaan kandungan dinamik dan pengaturcaraan tak segerak. 1) Pengaturcaraan yang didorong oleh peristiwa membolehkan laman web berubah secara dinamik mengikut operasi pengguna. 2) Penjanaan kandungan dinamik membolehkan kandungan halaman diselaraskan mengikut syarat. 3) Pengaturcaraan Asynchronous memastikan bahawa antara muka pengguna tidak disekat. JavaScript digunakan secara meluas dalam interaksi web, aplikasi satu halaman dan pembangunan sisi pelayan, sangat meningkatkan fleksibiliti pengalaman pengguna dan pembangunan silang platform.

Bagaimana cara menggabungkan elemen array dengan ID yang sama ke dalam satu objek dalam JavaScript? Semasa memproses data, kita sering menghadapi keperluan untuk mempunyai id yang sama ...

Perbincangan mengenai realisasi kesan animasi tatal dan elemen Parallax dalam artikel ini akan meneroka bagaimana untuk mencapai yang serupa dengan laman web rasmi Shiseido (https://www.shiseido.co.jp/sb/wonderland/) ... ...

Pembelajaran JavaScript tidak sukar, tetapi ia mencabar. 1) Memahami konsep asas seperti pembolehubah, jenis data, fungsi, dan sebagainya. 2) Pengaturcaraan asynchronous tuan dan melaksanakannya melalui gelung acara. 3) Gunakan operasi DOM dan berjanji untuk mengendalikan permintaan tak segerak. 4) Elakkan kesilapan biasa dan gunakan teknik debugging. 5) Mengoptimumkan prestasi dan mengikuti amalan terbaik.

Perbincangan mendalam mengenai punca-punca utama perbezaan dalam output konsol.log. Artikel ini akan menganalisis perbezaan hasil output fungsi Console.log dalam sekeping kod dan menerangkan sebab -sebab di belakangnya. � ...

Terokai pelaksanaan fungsi seretan panel dan drop panel seperti VSCode di bahagian depan. Dalam pembangunan front-end, bagaimana untuk melaksanakan vscode seperti ...
