Rumah  >  Artikel  >  hujung hadapan web  >  Kaedah JavaScript Array reduce().

Kaedah JavaScript Array reduce().

王林
王林asal
2024-08-28 06:05:021006semak imbas

JavaScript Array reduce() Method

Hai! Dalam blog ini, anda akan belajar tentang "kaedah mengurangkan" dan cara menggunakannya dalam JavaScript. Jadi, mari kita mulakan.

Reduce ialah salah satu kaedah tatasusunan dalam JavaScript. Ia mengambil tatasusunan sebagai input dan mengembalikan satu nilai. Kaedah pengurangan berguna apabila anda ingin memproses setiap elemen tatasusunan dan mengemas kini nilai biasa berdasarkan fungsi panggil balik yang disediakan.

Mari menyelam lebih dalam:
Reduce memerlukan dua hujah:

  1. Fungsi panggil balik
  2. Titik permulaan (nilai awal), mari kita panggil ia "hasil" (*Pilihan)

Ia bermula dengan elemen pertama tatasusunan, menghantarnya ke fungsi panggil balik dan menyimpan hasilnya dalam "hasil". Selepas memproses elemen terakhir, ia mengembalikan "hasil" akhir.

*Pilihan:

Jika tatasusunan kosong dan tiada nilai awal disediakan, reduce akan melemparkan TypeError kerana tiada elemen untuk berfungsi sebagai penumpuk awal.

Jika tatasusunan hanya mempunyai satu elemen dan tiada nilai awal disediakan, kurangkan pengembalian elemen tunggal itu tanpa menggunakan panggilan balik.

Contoh:
Contoh ini akan membantu anda memahami cara dan tempat untuk menggunakan kaedah pengurangan. Jangan ragu untuk bertanya soalan dalam komen.

Mudah:
S. Diberi tatasusunan, jumlahkan elemennya.

Penyelesaian menggunakan kaedah pengurangan.

const arr = [1, 2, 3, 4];

// 0 + 1 + 2 + 3 + 4
const initialValue = 0;
const sumofArray = arr.reduce(
  (result, element) => result + element,
  initialValue,
);

console.log(sumofArray);
// Expected output: 10

Penjelasan:
Pada mulanya, hasilnya akan menjadi sifar, kerana kami telah menyediakan sifar sebagai hujah kedua. Kemudian, untuk setiap elemen, ia akan menambahkan elemen itu pada hasil dan akhir sekali, nilai hasil akhir akan dikembalikan.

Sederhana:

Contoh ini diambil daripada: https://leetcode.com/problems/flatten-deeply-nested-array/description/

S. Memandangkan arr tatasusunan berbilang dimensi dan n kedalaman, kembalikan versi tatasusunan yang diratakan.

Tatasusunan berbilang dimensi ialah struktur data rekursif yang mengandungi integer atau tatasusunan berbilang dimensi yang lain.

Tatasusunan diratakan ialah versi tatasusunan itu dengan beberapa atau semua subtatasusunan dialih keluar dan digantikan dengan elemen sebenar dalam subtatasusunan itu. Operasi merata ini hanya perlu dilakukan jika kedalaman semasa bersarang kurang daripada n. Kedalaman unsur dalam tatasusunan pertama dianggap sebagai 0.

Penyelesaian dengan kaedah Kurangkan :

function flattenArray(arr, depth) {
    if(depth===0) return arr;
    return arr.reduce((result,element) => {
       if(Array.isArray(element)&&depth>0) {
          result.push(...flattenArray(element, depth-1));
       } else {
          result.push(element); 
       }
       return result;
   }, []);
}

Penjelasan:
Jika kedalaman sifar, kita tidak perlu melakukan apa-apa. Jika tidak, kami menggunakan rekursi dan pengendali hamparan untuk menambahkan elemen pada hasil.

Itu sahaja! Saya harap anda telah mempelajari kaedah pengurangan dengan baik.

Rujukan :
Array.prototype.reduce() daripada MDN

Atas ialah kandungan terperinci Kaedah JavaScript Array reduce().. 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