Rumah  >  Artikel  >  hujung hadapan web  >  Penjelasan terperinci tentang prinsip dan penggunaan fungsi pengurangan javascript

Penjelasan terperinci tentang prinsip dan penggunaan fungsi pengurangan javascript

PHPz
PHPzasal
2023-04-24 09:12:441704semak imbas

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:

  • jumlah ialah nilai penumpuk yang ingin kami pulangkan.
  • currentValue, iaitu nilai semasa.
  • currentIndex, iaitu indeks semasa.
  • arr, tatasusunan itu sendiri.
  • initialValue, iaitu nilai awal.

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:

  1. Tentukan jumlah pembolehubah penumpuk

Pertama, kita perlu mentakrifkan jumlah pembolehubah penumpuk, yang akan menyimpan fungsi pengurangan keputusan akhir dikembalikan.

  1. Melintasi elemen tatasusunan

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.

  1. Panggil fungsi panggil balik

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.

  1. Kembalikan 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.

  1. Kira jumlah unsur tatasusunan

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
  1. Kira hasil darab unsur tatasusunan

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
  1. Kira purata elemen tatasusunan

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn