Tính tổng các phần tử trong mảng javascript
Trong bài này mình sẽ hướng dẫn giải bài tập tính tổng các phần tử trong mảng javascript, bằng cách sử dụng vòng lặp và các hàm xử lý mảng có sẵn trong js.
Để tính tổng tất cả các phần tử trong mảng thì ta có rất nhiều cách. Bạn có thể sử dụng vòng lặp for
, hàm map
, hàm forEach
, hàm reduce
hoặc reduceRight
đều được. Và trong bài này mình sẽ demo tất cả để bạn tự tìm hiểu nhé.
1. Dùng vòng lặp tính tổng các phần tử trong mảng javascript
Ta sẽ dùng vòng lặp for để duyệt qua từng phần tử, sau đó cộng dồn chúng lại với nhau. Bạn sẽ cần sử dụng một biến để lưu trữ tổng trong mỗi lần lặp.
function sumArray(mang){ let sum = 0; for (let i = 0; i < mang.length; i++){ sum += mang[i]; } return sum; } let mang = [1, 5, 9, 10]; console.log(sumArray(mang)); // 25
Hoặc dùng vòng lặp while:
Bài viết này được đăng tại [free tuts .net]
function sumArray(mang){ let sum = 0; let i = 0; while (i < mang.length){ sum += mang[i]; i++; } return sum; } let mang = [1, 5, 9, 10]; console.log(sumArray(mang)); // 25
Những vòng lặp khác thì tương tự nhé các bạn.
2. Dùng forEach tính tổng các phần tử trong mảng javascript
Ngoài cách sử dụng vòng lặp để lặp qua các phần tử của mảng thì ta có thể sử dụng hàm forEach javascript. Đây là một method thuộc đối tượng mảng nên bạn chỉ việc gọi ra và sử dụng.
function sumArray(mang){ let sum = 0; mang.forEach(function(value){ sum += value; }); return sum; } let mang = [1, 5, 9, 10]; console.log(sumArray(mang)); // 25
Tham số truyền vào forEach là một callback function. Hàm này sẽ tiếp nhận các phần tử trong mỗi lần lặp, nên ta chỉ việc cộng dồn nó vào biến sum là có được tổng.
3. Dùng map tính tổng các phần tử trong mảng javascript
Mặc dù hàm map được để lặp qua các phần tử của mảng và tạo ra một mảng mới có giá trị bị thay đổi. Tuy nhiên, với tính chất lặp của nó thì ta cũng có thể đưa vào bài toán tính tổng.
function sumArray(mang){ let sum = 0; mang.map(function(value){ sum += value; }); return sum; } let mang = [1, 5, 9, 10]; console.log(sumArray(mang)); // 25
Ngoài những cách trên thì bạn có thể sử dụng hàm reduce hoặc reduceRight. Bạn chỉ cần thay đổi cách dùng trong hàm sumArray là được.