Giảm mảng JavaScript()
Ví dụ
Trừ tất cả các số trong một mảng:
const numbers = [175, 50, 25];
document.getElementById("demo").innerHTML
= numbers.reduce(myFunc);
function myFunc(total, num) {
return total - num;
}
Hãy tự mình thử »Làm tròn tất cả các số và hiển thị tổng:
const numbers = [15.5, 2.3, 1.1, 4.7];
document.getElementById("demo").innerHTML = numbers.reduce(getSum, 0);
function getSum(total, num) {
return total + Math.round(num);
}
Hãy tự mình thử »Sự miêu tả
Phương thức reduce()
thực thi hàm rút gọn cho phần tử mảng.
Phương thức reduce()
trả về một giá trị duy nhất: kết quả tích lũy của hàm.
Phương thức reduce()
không thực thi hàm cho các phần tử mảng trống.
Phương thức reduce()
không thay đổi mảng ban đầu.
Ghi chú
Ở lần gọi lại đầu tiên, không có giá trị trả về từ lần gọi lại trước đó.
Thông thường, phần tử mảng 0 được sử dụng làm giá trị ban đầu và quá trình lặp bắt đầu từ phần tử mảng 1.
Nếu một giá trị ban đầu được cung cấp thì giá trị này sẽ được sử dụng và quá trình lặp bắt đầu từ phần tử mảng 0.
Xem thêm:
Cú pháp
array . reduce ( function(total, currentValue, currentIndex, arr), initialValue )
Thông số
Parameter | Description | ||||||||
function() | Required. A function to be run for each element in the array. |
||||||||
Reducer function parameters:
| |||||||||
initialValue | Optional. A value to be passed to the function as the initial value. |
Giá trị trả về
Kết quả tích lũy từ lệnh gọi hàm gọi lại gần đây nhất. |
Hướng dẫn mảng:
Hỗ trợ trình duyệt
reduce()
là một tính năng của ECMAScript5 (ES5).
ES5 (JavaScript 2009) được hỗ trợ đầy đủ trong tất cả các trình duyệt hiện đại kể từ tháng 7 năm 2013:
Chrome 23 |
IE/Edge 11 |
Firefox 21 |
Safari 6 |
Opera 15 |
Sep 2012 | Sep 2012 | Apr 2013 | Jul 2012 | Jul 2013 |