Cách tính tổng và trung bình của các phần tử trong mảng JavaScript

Cách tính tổng và trung bình của các phần tử trong mảng JavaScript

Đôi khi, mình muốn tính tổng và trung bình của các phần tử trong một mảng JavaScript.

Cách tính tổng và trung bình của các phần tử trong mảng JavaScript

Trong bài viết này, mình sẽ giúp bạn biết cách tính tổng và trung bình của các phần tử trong một mảng JavaScript.

Sử dụng một vòng lặp để tính tổng và trung bình của các phần tử

Bạn có thể sử dụng vòng lặp for-of để lặp qua một mảng để cộng tất cả các số lại với nhau để tính tổng.

Cách tính tổng và trung bình của các phần tử trong mảng JavaScript

Sau đó, để tính giá trị trung bình, bạn có thể chia tổng cho độ dài của mảng.

Ví dụ, bạn có thể viết:

const arr = [1, 2, 3] let sum = 0; for (const a of arr) { sum += a; } const avg = sum / arr.length; console.log(sum) console.log(avg)
Code language: JavaScript (javascript)

Tớ xác định ra một mảng  arr với một số số trong đó.

Sau đó, tớ xác định biến  sum và khởi tạo nó thành 0.

Tiếp theo, bạn thêm vòng lặp for-of để lặp qua các mục arr .

a có mục arr đang được lặp lại.

Trong phần thân của vòng lặp, tớ thêm giá trị  a vào  sum .

Sau đó, tớ tạo biến  avg và gán thương số của  sum và  arr.length cho nó.

Do đó,  sum là 6 và  avg là 2.

Sử dụng phương thức Array.prototype.reduce để tính tổng và trung bình của các phần tử

Bạn cũng có thể sử dụng phương thức thể hiện mảng  reduce để tính tổng.

Sau đó, bạn có thể tính giá trị trung bình theo cách tương tự như ví dụ trước.

Ví dụ, bạn có thể viết:

const arr = [1, 2, 3] const sum = arr.reduce((partialSum, a) => partialSum + a, 0) const avg = sum / arr.length; console.log(sum) console.log(avg)
Code language: JavaScript (javascript)

Phương thức  reduce này nhận một cuộc gọi lại có  partialSum và  a .

partialSum Tổng một phần được trả về ở đâu sau khi thêm các mục arr nhập được lặp lại.

a là mục  arr được lặp qua.

Lệnh gọi lại trả về tổng từng phần mới.

Đối số thứ 2 là giá trị ban đầu của  sum .

Phần còn lại của đoạn mã giống nhau và bạn nhận được kết quả tương tự như ví dụ trước.

Tính tổng các phần tử trong mảng JavaScript bằng forEach

forEach trong JavaScript vốn được sử dụng để lấy phần tử trong mảng theo thứ tự.

Do vậy bạn cũng hoàn toàn có thể sử dụng forEach để tính tổng các phần tử trong mảng JavaScript như sau:

let num = [48, 75, 92, 61, 54, 83, 76]; let sum = 0; num.forEach(function(element){ sum +=element; }); console.log(sum); //489
Code language: JavaScript (javascript)

Ngoài forEach, bạn cũng có thể sử dụng bất cứ hàm hay phương thức có tác dụng giống như forEach là lấy phần tử trong mảng theo thứ tự. Ví dụ như là Array map hoặc Array filter chẳng hạn.

Cách tính tổng và trung bình của các phần tử trong mảng JavaScript

Ví dụ đối với Array map, bạn đã biết phương thức này vốn có tác dụng tạo mảng mới từ các phần tử trong mảng JavaScript. Tuy nhiên thì Array map cũng có thể xử lý tuần tự các phần tử trong mảng ban đầu, nên nếu bỏ đi chức năng tạo mảng mới thì bạn hoàn toàn có thể dùng nó tương tự như forEach để tính tổng phần tử trong mảng ban đầu như sau:

let num = [48, 75, 92, 61, 54, 83, 76]; let sum = 0; num.map(function(element){ sum += element; }); console.log(sum); //489
Code language: JavaScript (javascript)

Chuyện này cũng hoàn toàn tương tự như với Array filter, bạn bỏ đi chức năng chính mà chỉ sử dụng tới chức năng xử lý tuần tự phần tử là có thể tiến hành tính tổng phần tử trong mảng ban đầu bằng Array filter như dưới đây:

let num = [48, 75, 92, 61, 54, 83, 76]; let sum = 0; num.filter(function(element){ sum += element; }); console.log(sum); //489
Code language: JavaScript (javascript)

Phương thức tổng và trung bình của các phần tử của Lodash

Cách tính tổng và trung bình của các phần tử trong mảng JavaScript

Lodash có phương thức  sum trả về tổng của một mục nhập mảng.

Phương thức mean này trả về giá trị trung bình của các mục nhập mảng.

Ví dụ, bạn có thể viết:

const arr = [1, 2, 3] const sum = _.sum(arr) const avg = _.mean(arr) console.log(sum) console.log(avg)
Code language: JavaScript (javascript)

Cả hai phương thức đều lấy mảng mà bạn muốn thực hiện tính toán làm đối số.

Sau đó, mình nhận được kết quả tương tự như trước đây.

Kết luận

Chúng ta có thể sử dụng Lodash hoặc JavaScript đơn giản để tính tổng và trung bình của các phần tử hay các mục nhập mảng.

Cảm ơn bạn đã theo dõi bài viết!

Các bạn có thể tham khảo các bài viết hay về JavaScript tại đây.


Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.

TỔNG HỢP TÀI LIỆU HỌC LẬP TRÌNH CƠ BẢN CHO NGƯỜI MỚI BẮT ĐẦU

KHOÁ HỌC BOOTCAMP JAVA/JAVASCRIPT/PHP TRỞ THÀNH LẬP TRÌNH VIÊN TRONG 5-6 THÁNG

Leave a Reply

Your email address will not be published.