Rumah >hujung hadapan web >tutorial js >Bagaimanakah Fungsi `Reduce` ES6 Boleh Menjumlahkan Elemen Tatasusunan dengan Cekap?

Bagaimanakah Fungsi `Reduce` ES6 Boleh Menjumlahkan Elemen Tatasusunan dengan Cekap?

Patricia Arquette
Patricia Arquetteasal
2024-12-31 03:52:13360semak imbas

How Can ES6's `reduce` Function Efficiently Sum Array Elements?

Mengira Jumlah Tatasusunan: Pendekatan Lurus dengan ECMAScript 2015

Mencari jumlah elemen tatasusunan ialah tugas biasa dalam pengaturcaraan . Untuk tatasusunan seperti [1, 2, 3, 4], anda bertujuan untuk menentukan jumlah kolektif mereka, yang dalam kes ini ialah 10.

Walaupun $.each boleh digunakan, penyelesaian yang lebih cekap wujud dalam ECMAScript 2015 (ES6). ES6 memperkenalkan fungsi pengurangan, khusus disesuaikan untuk tugas penjumlahan sedemikian.

Kuasa Kurangkan

Kurangkan mengambil dua parameter: fungsi panggil balik dan nilai awal pilihan. Fungsi panggil balik, dalam kes ini, ialah fungsi anak panah dengan dua argumen: partialSum (jumlah terkumpul setakat ini) dan elemen tatasusunan semasa (a). Panggilan balik mengira dan mengembalikan partialSum baharu dengan menambahkan a pada partialSum sedia ada.

Melaksanakan Reduce

Untuk menggunakan reduce, hanya gunakan ia pada tatasusunan anda, menghantar panggilan balik dan nilai awal (jika dikehendaki). Sebagai contoh, dalam tatasusunan contoh [1, 2, 3], kami akan menulis:

const sum = [1, 2, 3].reduce((partialSum, a) => partialSum + a, 0);
console.log(sum); // Output: 6

Nilai awal (0 dalam kes ini) berfungsi sebagai titik permulaan bagi partialSum. Fungsi pengurangan berulang pada tatasusunan, mengemas kini partialSum secara berperingkat apabila ia mengumpul nilai elemen. Hasilnya ialah jumlah yang dicari bagi elemen tatasusunan.

Atas ialah kandungan terperinci Bagaimanakah Fungsi `Reduce` ES6 Boleh Menjumlahkan Elemen Tatasusunan dengan Cekap?. 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