Rumah > Artikel > hujung hadapan web > Pembelajaran tatasusunan JS secara terbalik menghubungkan semua elemen dan mengeluarkan rentetan
Dalam artikel sebelumnya "Pembelajaran tatasusunan JS: cara menyambung semua elemen dan mengembalikan rentetan", "Pembelajaran tatasusunan JS: mengulang tatasusunan untuk mengira jumlah elemen dan menggabungkan nilai menjadi rentetan》, kami memperkenalkan beberapa kaedah penyambungan semua elemen ke hadapan dari kiri ke kanan dalam susunan tatasusunan untuk membentuk rentetan. Kali ini kami terus memperkenalkan tatasusunan JS kepada rentetan, dan bercakap tentang kaedah mencantumkan semua elemen tatasusunan secara terbalik (dari kanan ke kiri) untuk membentuk rentetan terbalik Rakan yang memerlukan boleh mempelajarinya~
Hari ini Kandungan utama artikel ini ialah: melintasi tatasusunan secara terbalik dan menggabungkan elemen tatasusunan menjadi rentetan dari kanan ke kiri. Tiga kaedah pelaksanaan diperkenalkan di bawah.
Kaedah 1: Gunakan untuk gelung
Idea pelaksanaan:
Gunakan untuk gelung untuk melintasi terbalik Jika tatasusunan
mahu melintasi tatasusunan secara terbalik, maka keadaan awal ialah i=数组长度-1,
dan syarat sekatan ialah i>=0
Setiap kali ia gelung, saya perlu mengurangkan sebanyak 1 (i--
)
for(i=arr.length-1;i>=0;i--){ //逆向循环遍历数组 }
Kemudian gunakan operator penggabungan rentetan "
" atau kaedah concat()
untuk menggabungkan elemen tatasusunan dan menukarnya menjadi rentetan. [Bacaan yang disyorkan: "Kemahiran Pembelajaran Rentetan JS Guna Fungsi untuk Menyambung Rentetan Berbilang"]
Mari kita lihat kod pelaksanaan:
var arr = [1,2,3,4,5,6,7,8,9,0]; var i,str=""; for(i=arr.length-1;i>=0;i--){ //逆向循环遍历数组 //拼接 str=str+''+arr[i]; // str=str.concat(arr[i]); } console.log(str);
Hasil keluaran ialah:
Kaedah 2: Menggunakan kaedah reduceRight() tatasusunan
recudeRight() boleh memanggil fungsi panggil balik yang ditentukan pada semua elemen dalam tatasusunan dari kanan ke kiri. Nilai pulangan bagi fungsi panggil balik ini ialah hasil terkumpul, dan nilai pulangan ini disediakan sebagai parameter pada kali berikutnya fungsi panggil balik dipanggil.array.reduceRight(function callbackfn(previousValue, currentVaule, currentIndex, array)[, initialValue])
: parameter yang diperlukan, nyatakan fungsi panggil balik, yang boleh menerima sehingga 4 parameter: function callbackfn(previousValue,currentVaule,currentIndex,array)
var arr = [1,2,3,4,5,6,7,8,9,0]; var str = ''; function f(pre,curr) { str=pre+''+curr; return str; } arr.reduceRight(f); console.log(str);Hasil output ialah:
Jika anda ingin menggunakan pembatas untuk memisahkan setiap elemen tatasusunan, anda boleh menukar rentetan kosong antara dua " " operator dalam fungsi panggil balik kepada pembatas yang ditentukan:
var arr = [1,2,3,4,5,6,7,8,9,0]; var str = ''; function f(pre,curr) { str=pre+'-'+curr; return str; } arr.reduceRight(f); console.log(str);Hasil output ialah :
Kaedah 3: Gunakan reverse() reduce()
reverse() untuk membalikkan tatasusunan Susunan elemen; sintaks dan penggunaan kaedah reduce() adalah lebih kurang sama dengan kaedah reduceRight() Satu-satunya perbezaan ialah ia memanggil fungsi panggil balik yang ditentukan pada semua elemen dalam tatasusunan dari kiri ke kanan.array.reduce(function callbackfn(previousValue, currentVaule, currentIndex, array), initialValue)Idea pelaksanaan:
Kemudian laksanakan kaedah reduce() untuk memanggil fungsi dan sambungkan elemen tatasusunan
Mari lihat kod pelaksanaan:
var arr1 = [1,2,3,4,5,6,7,8,9,0],arr2=[]; var str = ''; function f(pre,curr) { str=pre+''+curr; return str; } arr2=arr1.reverse(); arr2.reduce(f); console.log(str);Baiklah, itu sahaja jika anda memerlukannya, anda boleh membaca:
Tutorial JavaScript Lanjutan
Atas ialah kandungan terperinci Pembelajaran tatasusunan JS secara terbalik menghubungkan semua elemen dan mengeluarkan rentetan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!