Array reduceRight() trong Javascript
Trong bài này chúng ta sẽ tìm hiểu hàm Array reduceRight trong Javascript, đây là một method thuộc đối tượng mảng javascript.
Trước khi đọc bài này thì bạn hãy đọc bài hàm reduce nhé, bởi mình sẽ không giải thích quá trình hoạt động của nó nữa, thay vào đó bạn hãy xem hàm reduce
rồi liên tưởng qua hàm reduceRight
.
Hàm reduce và reduceRight trong js có công dụng tương tự nhau, chỉ khác một điều duy nhất là:
- Hàm reduce sẽ duyệt mảng từ trái sang phải.
- Hàm reduceRight sẽ duyệt mảng từ phải sang trái.
1. Cú pháp array.reduceRight javascript
Cú pháp hàm này cũng không khác gì hảm reduce.
Bài viết này được đăng tại [free tuts .net]
Cú pháp:
array.reduceRight(function(total, currentValue, currentIndex, arr), initialValue)
Trong đó:
total
- giá trị trả lại trước đó của function.currentValue
- giá trị của phần tử hiện tại.currentIndex
- chỉ số của phần tử hiện tại.arr
- mảng mà phần tử hiện tại thuộc về.initialValue
- tham số không bắt buộc. Nếu được truyền vào thì initialValue sẽ được sử dụng làm giá trị ban đầu của function. Trường hợp mảng rỗng thì bắt buộc phải nhập giá trị này.
Ví dụ: Hãy viết chương trình in ra giá trị của các phần tử trong quá trình lặp của hàm reduceRight.
const numbers = [10, 15, 20, 54, 60]; numbers.reduceRight(function(total, currentValue) { console.log(currentValue); return currentValue; });
Kết quả như sau:
54 20 15 10
Như vậy hàm này đã duyệt từ cuối mảng trở về đầu mảng, ngược hoàn toàn với hàm reduce.
2. Ví dụ hàm reduceRight trong javascript
Ví dụ 1: Tính tích các phần tử có trong mảng numbers.
const numbers = [10, 15, 20, 54, 60]; var result = numbers.reduceRight(function(total, currentValue) { return currentValue * total; }); console.log(result); // 9720000
Ví dụ 2: Sử dụng hàm reduceright để tính hiệu các phần tử của mảng từ trái qua phải.
<button onclick="myFunction()">In</button> <p id="demo"></p> <script> var numbers = [65, 44, 12, 4]; document.getElementById("demo").innerHTML = numbers; function getSum(total, num) { return total - num; } function myFunction(item) { document.getElementById("demo").innerHTML = numbers.reduceRight(getSum); } </script>
Như vậy là mình đã hướng dẫn xong các sử dụng array reduceRight trong javascript.