Hàm array.reduce() trong Javascript

Hàm reduce sẽ biến đổi một mảng thành một giá trị đơn giản.

Hàm reduce  sẽ thực hiện một hàm được cung cấp cho mỗi giá trị của mảng, từ trái qua phải.

Hàm sẽ trả về một kết quả được lưu trữ( tổng số hoặc kết quả tính toàn).

Hàm reduce sẽ không thực hiện hàm được cung cấp đối với các phần tử không có giá trị.

Cú pháp

Cú pháp: array.reduce(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.

Cách sử dụng

Ví dụ: Sử dụng hàm reduce để tính tổng các phần tử trong mảng.

Code RUN
<!DOCTYPE html>
<html>
	<head>
	    <meta charset="utf-8">
	</head>
	<body>
		<h1>Học lập trình miễn phí tại freetuts.net</h1>
		<p>Click vào button để kiểm tra.</p>
		 
		<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.reduce(getSum);
		}
		</script>
	</body>
</html>

Nguồn: freetuts.net