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 JavaScriptCá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.

>> Xem ngay Tài liệu Java Core giúp bạn “Nâng Cấp” kỹ năng lập trình

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 JavaScriptCá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

)

Mình tạo một mảng gồm 3 phần tử 1, 2, 3.

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

Tiếp theo, mình thêm vòng lặp for-of để lặp qua các phần tử của arr.

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

Sau đó, mình 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 Array.prototype.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 callback có partialSum và a.

partialSum là tổng của phần tử được trả về mỗi khi cộng các phần tử arr.

Callback trả về tổng từng phần tử.

Đố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 để duyệt các 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);

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 JavaScriptCá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);

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);

Code language:

JavaScript

(

javascript

)

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

Cách tính tổng và trung bình của các phần tử trong mảng JavaScriptCá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

Trên đây là một số cách làm để tính tổng và trung bình của các phần tử trong mảng JavaScript. Bạn hãy chọn ra 1 cách quen thuộc và ứng dụng vào mã nguồn của mình nhé!

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.

Chia sẻ