Công ty thiết kế website chuẩn SEO Web Mới
Tìm kiếm
Công ty thiết kế website chuẩn SEO Web Mới

Hàm reduce() trong JavaScript

Hàm reduce() trong JavaScript dùng để tính tổng các giá trị trong một mảng đơn giản hoặc mảng đa chiều, làm phẳng mảng, chi tiết như nào hãy cùng chúng tôi phân tích:

Hàm reduce() trong JavaScript

Hàm reduce() trong JavaScript

Chức năng của Hàm reduce() trong JavaScript

Hàm reduce() trong JavaScript dùng để tính tổng các giá trị trong một mảng đơn giản hoặc mảng đa chiều, làm phẳng mảng, thay đổi cấu trúc mảng,...

Cú pháp của Hàm reduce() trong JavaScript

var tong  = mang.reduce(function(total, currentValue, currentIndex, arr) {
  // Code
},initialValue);

mang: Mảng chính.

total: Giá trị trả về cho mỗi lần lặp của hàm return, nếu initialValue là số lớn hơn 0 ví dụ là 5 thì giá trị trả về ban đầu của total là 5.

currentValue: Giá trị hiện tại của phần tử trong mảng.

currentIndex: Vị trí chỉ mục hiện tại của phần tử trong mảng.

arr: Xem các phần tử của mảng theo dạng chuỗi.

initialValue: Tham số không bắt buộc nhưng đối với mảng rỗng thì nên để, nó sẽ là giá trị ban đầu của total, nếu initialValue bằng 3 thì khi lặp phần tử đầu tiên thì total sẽ bằng 3, nếu không để initialValue thì total ban đầu sẽ là currentValue của phần tử đầu tiên sau đó thực hiện tiếp phần tử thứ 2 (phần tử đầu tiên sẽ không thực hiện phép tính cộng, trừ, nhân, chia mà chỉ lấy currentValue làm total rồi lấy total đó thực hiện phép tính với currentValue của phần tử thứ 2).

Code Hàm reduce() trong JavaScript

Hàm reduce() tính tổng trong JavaScript

<script>
// Tính tổng một mảng đơn giản
document.write("<b>Tính tổng một mảng đơn giản</b><br>");
var mang = [10, 15,25 ];
// Biến chứa tổng các giá trị
var initialValue= 0; // Giá trị ban đầu, nếu giá trị ban đầu là 5 thì total khởi tạo là 5
var tong  = mang.reduce(function(total, currentValue, currentIndex, arr) {
    document.write("Giá trị trả lại (total): " + total+"<br>"); // Giá trị trả lại của hàm return, nếu initialValue bằng 5 thì total khởi tạo là 5
    document.write("Giá trị (currentValue): " + currentValue+"<br>"); // Giá trị của phần tử trong mảng
    document.write("Chỉ mục (currentIndex): " + currentIndex+"<br>"); // Vị trí index của phần tử trong mảng
    document.write("Mảng (arr): " + arr+"<br>");
    document.write("------------------------<br>");
    return total + currentValue; // total cuối cùng là 25 + currentValue là 25 =  50.
    // mỗi lần lặp từng phần tử sẽ lấy total + currentValue, kết quả lần lặp 1 sẽ trả về total cho lần lặp 2 rồi lấy total đó cộng tiếp cho currentValue, cứ thế cộng ra tổng
},initialValue);
document.write("Tổng giá trị: "+tong);
document.write("<br>");
// Tính lương tuần mảng đa chiều
document.write("<b>Tính lương tuần mảng đa chiều</b><br>");
var thongtin = [{ ten: "Lực", luong: 500000,songay: 5}, { ten: "Vân", luong: 600000,songay: 5}, { ten: "Dung", luong: 600000,songay: 4} ];
// Tính tổng số tuổi
let tongluong = thongtin.reduce(function(total, currentValue) {
    return total + currentValue.songay * currentValue.luong;
}, 0);

// In ra tổng tiền của giỏ hàng
document.write(tongluong);

</script>

Kết quả:

Tính tổng một mảng đơn giản
Giá trị trả lại (total): 0
Giá trị (currentValue): 10
Chỉ mục (currentIndex): 0
Mảng (arr): 10,15,25
------------------------
Giá trị trả lại (total): 10
Giá trị (currentValue): 15
Chỉ mục (currentIndex): 1
Mảng (arr): 10,15,25
------------------------
Giá trị trả lại (total): 25
Giá trị (currentValue): 25
Chỉ mục (currentIndex): 2
Mảng (arr): 10,15,25
------------------------
Tổng giá trị: 50
Tính lương tuần mảng đa chiều
7900000

Chạy Thử

Lời kết

Cảm ơn các bạn đã tham khảo bài viết Hàm reduce() trong JavaScript.

  • 0 Bình luận
Content Trần Ngọc Thanh
Trần Ngọc Thanh
Content Trần Ngọc Thanh là người viết content có kinh nghiệm nhiều năm tại Web Mới, chuyên viết content bên lĩnh vực website và nhiều lĩnh vực khác
Chia sẻ nội dung đánh giá của bạn về Hàm reduce() trong JavaScript
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Đăng ký tư vấn miễn phí
Tìm hiểu 1 năm không bằng lắng nghe 1 câu tư vấn
JAVASCRIPT Hàm Ngày/Giờ (Date/Time)
JAVASCRIPT DOM Phần tử HTML
Kiến thức CSS
Kiến thức PHP
Kiến thức về website
Kiến thức SEO website
0398.259.259