Javascript Array reduceRight ()

Metode Reduksi Array JavaScript () menjalankan fungsi peredam pada setiap elemen larik dan menerapkannya pada akumulator.

Sintaks dari reduceRight()metode ini adalah:

 arr.reduceRight(callback(accumulator, currentValue), initialValue)

Di sini, arr adalah sebuah array.

Parameter reduceRight ()

The reduceRight()Metode mengambil di:

  • callback - Fungsi yang akan dijalankan pada setiap elemen array. Dibutuhkan:
    • akumulator - Ini mengakumulasikan nilai kembalian callback. Ini initialValueuntuk panggilan pertama jika disediakan,
    • currentValue - Elemen saat ini sedang diteruskan dari larik.
  • initialValue (opsional) - Nilai yang akan diteruskan callback()pada panggilan pertama. Jika tidak disediakan, elemen terakhir bertindak sebagai akumulator pada panggilan pertama dan callback()tidak akan dijalankan padanya.

Catatan: Memanggil reduceRight()pada larik kosong tanpa initialValue akan dilempar TypeError.

Kembalikan nilai dari reduceRight ()

  • Mengembalikan nilai yang dihasilkan setelah mengurangi larik.

Catatan :

  • reduceRight() menjalankan fungsi yang diberikan untuk setiap nilai dari kanan ke kiri.
  • reduceRight() tidak mengubah larik asli.
  • Menyediakan hampir selalu lebih aman initialValue.

Contoh 1: Jumlah Semua Nilai Array

 const numbers = (1, 2, 3, 4, 5, 6); function sum_reducer(accumulator, currentValue) ( return accumulator + currentValue; ) let sum = numbers.reduceRight(sum_reducer); console.log(sum); // 21 // using arrow function let summation = numbers.reduceRight( (accumulator, currentValue) => accumulator + currentValue ); console.log(summation); // 21

Keluaran

 21 21

Contoh 2: Mengurangi Angka di Array

 const numbers = (50, 300, 20, 100, 1800); // subtract all numbers from last number // since 1st element is called as accumulator rather than currentValue // 1800 - 100 - 20 - 300 - 50 let difference = numbers.reduceRight( (accumulator, currentValue) => accumulator - currentValue ); console.log(difference); // 1330 const expenses = (1800, 2000, 3000, 5000, 500); const salary = 15000; // function that subtracts all array elements from given number // 15000 - 500 - 5000 - 3000 - 2000 - 1800 let remaining = expenses.reduceRight( (accumulator, currentValue) => accumulator - currentValue, salary ); console.log(remaining); // 2700

Keluaran

 1330 2700

Contoh ini dengan jelas menjelaskan perbedaan antara meneruskan initialValue dan tidak meneruskan initialValue.

Contoh 3: Buat Fungsi Komposit

 // create composite functions const composite = (… args) => (initialArg) => args.reduceRight((acc, fn) => fn(acc), initialArg); const sqrt = (value) => Math.sqrt(value); const double = (value) => 2 * value; const newFunc = composite(sqrt, double); // ( 32 * 2 ) ** 0.5 let result = newFunc(32); console.log(result); // 8

Keluaran

 8

Kita tahu bahwa komposisi fungsi adalah cara di mana hasil dari satu fungsi diteruskan ke fungsi lain. Eksekusinya terjadi dari kanan ke kiri, jadi kita bisa memanfaatkan reduceRight()fungsinya.

Dalam contoh ini, kami telah membuat composite()fungsi yang menerima sejumlah argumen. Fungsi ini mengembalikan fungsi lain yang menerima initialArgdan mengembalikan nilai ini dikurangi dengan menerapkannya pada fungsi yang diberikan dari kanan ke kiri.

Bacaan yang Direkomendasikan: JavaScript Array reduce ()

Artikel yang menarik...