Rumah > Artikel > hujung hadapan web > Penjelasan terperinci tentang prinsip dan penggunaan fungsi pengurangan javascript
Fungsi pengurangan ialah fungsi yang sangat biasa digunakan dalam Javascript, yang boleh memudahkan operasi kami pada tatasusunan. Dalam artikel ini, kami akan menerangkan secara terperinci bagaimana fungsi pengurangan berfungsi dan cara melaksanakannya.
1. Konsep fungsi pengurangan
Fungsi pengurangan adalah fungsi yang sangat penting dalam Javascript. Peranannya adalah untuk meringkaskan semua elemen dalam tatasusunan menjadi satu nilai melalui fungsi tertentu. Sintaks fungsi pengurangan adalah seperti berikut:
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
Di mana:
Idea teras fungsi pengurangan ialah "induksi", iaitu, "penyatuan" semua elemen bersama dalam beberapa cara. Biasanya, kita boleh menggunakannya untuk mengira jumlah, produk, purata, dll. unsur tatasusunan.
2. Pelaksanaan fungsi pengurangan
Dalam Javascript, kita boleh mensimulasikan pelaksanaan fungsi mengurangkan melalui gelung. Secara khusus, kita boleh menggunakan kaedah berikut:
Pertama, kita perlu mentakrifkan jumlah pembolehubah penumpuk, yang akan menyimpan fungsi pengurangan keputusan akhir dikembalikan.
Kemudian, kita perlu melintasi elemen tatasusunan dan beroperasi pada setiap elemen. Semasa proses traversal, kita perlu mengeluarkan elemen semasa dan nilai indeks semasa untuk digunakan dalam operasi seterusnya.
Semasa setiap traversal, kita perlu memanggil fungsi panggil balik. Fungsi panggil balik menerima 4 parameter: jumlah pembolehubah penumpuk, nilai semasa elemen semasa, nilai indeks semasa currentIndex dan keseluruhan arr tatasusunan. Logik teras fungsi panggil balik adalah untuk mengemas kini nilai jumlah pembolehubah penumpuk.
Selepas melintasi semua elemen, kita perlu mengembalikan jumlah pembolehubah penumpuk.
Berdasarkan idea di atas, kita boleh menulis fungsi pengurangan berikut:
Array.prototype.myReduce = function(callback, initialValue) { let total = initialValue ? initialValue : this[0]; // 如果有初始值,使用初始值,否则使用数组的第一个元素 for (let i = initialValue ? 0 : 1; i < this.length; i++) { // 如果有初始值,从0开始遍历,否则从1开始遍历 total = callback(total, this[i], i, this); // 调用回调函数更新累加器变量的值 } return total; // 返回累加器变量 }
3. Penggunaan fungsi pengurangan
Sekarang kita telah melaksanakan fungsi pengurangan, kemudian Bagaimana kita menggunakannya? Seterusnya, kami akan menunjukkan penggunaan biasa fungsi pengurangan.
Kita boleh mengira jumlah unsur tatasusunan melalui fungsi pengurangan. Seperti yang ditunjukkan di bawah:
const arr = [1, 2, 3, 4, 5]; const sum = arr.myReduce((total, currentValue) => total + currentValue); // 15
Kita juga boleh mengira hasil darab unsur tatasusunan melalui fungsi pengurangan. Seperti yang ditunjukkan di bawah:
const arr = [1, 2, 3, 4, 5]; const product = arr.myReduce((total, currentValue) => total * currentValue); // 120
Kita juga boleh mengira purata elemen tatasusunan melalui fungsi pengurangan. Seperti yang ditunjukkan di bawah:
const arr = [1, 2, 3, 4, 5]; const avg = arr.myReduce((total, currentValue, i, arr) => { total += currentValue; if (i === arr.length - 1) { return total / arr.length; } else { return total; } }); // 3
4. Ringkasan
Pada ketika ini, kami telah melaksanakan fungsi pengurangan dalam Javascript. Fungsi pengurangan ialah fungsi yang sangat penting yang boleh memudahkan operasi kami pada tatasusunan. Selagi kita mengingati prinsip fungsi pengurangan, kita boleh melaksanakan fungsi pengurangan kita sendiri dengan mudah dan menggunakannya untuk mempercepatkan kelajuan menulis kod. Sudah tentu, untuk senario pemprosesan tatasusunan yang kompleks, fungsi pengurangan mungkin memerlukan pengembangan dan penambahbaikan selanjutnya.
Atas ialah kandungan terperinci Penjelasan terperinci tentang prinsip dan penggunaan fungsi pengurangan javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!