Javascript Array lessRight ()

Kaedah JavaScript Array lessRight () melaksanakan fungsi pengurang pada setiap elemen larik dan menerapkannya pada penumpuk.

Sintaks reduceRight()kaedahnya adalah:

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

Di sini, arr adalah tatasusunan.

mengurangkanRight () Parameter

The reduceRight()Cara mengambil masa dalam:

  • panggilan balik - Fungsi untuk dilaksanakan pada setiap elemen array. Ia memerlukan:
    • penumpuk - Ia mengumpulkan nilai pulangan panggilan balik. Ia adalah initialValueuntuk panggilan pertama jika dibekalkan,
    • currentValue - Elemen semasa yang dihantar dari tatasusunan.
  • initialValue (pilihan) - Nilai yang akan dihantar callback()pada panggilan pertama. Sekiranya tidak disediakan, elemen terakhir bertindak sebagai penumpuk pada panggilan pertama dan callback()tidak akan melaksanakannya.

Catatan: Memanggil reduceRight()array kosong tanpa nilai awal akan melemparkan TypeError.

Nilai pulangan dari lessRight ()

  • Mengembalikan nilai yang dihasilkan setelah mengurangkan array.

Catatan :

  • reduceRight() melaksanakan fungsi yang diberikan untuk setiap nilai dari kanan ke kiri.
  • reduceRight() tidak mengubah susunan asal.
  • Hampir selalu lebih selamat untuk disediakan 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

Pengeluaran

 21 21

Contoh 2: Menolak Nombor dalam 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

Pengeluaran

 1330 2700

Contoh ini dengan jelas menerangkan perbezaan antara melewati Nilai awal dan tidak meneruskan Nilai awal.

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

Pengeluaran

 8

Kita tahu bahawa komposisi fungsi adalah cara di mana hasil dari satu fungsi diteruskan ke fungsi yang lain. Pelaksanaannya dilakukan dari kanan ke kiri, sehingga kita dapat memanfaatkan reduceRight()fungsinya.

Dalam contoh ini, kami telah membuat composite()fungsi yang memerlukan sejumlah argumen sewenang-wenangnya. Fungsi ini mengembalikan fungsi lain yang mengambil initialArgdan mengembalikan nilai ini dikurangkan dengan menerapkannya terhadap fungsi yang diberikan dari kanan ke kiri.

Bacaan yang Disarankan: Array JavaScript mengurangkan ()

Artikel menarik...