Làm cách nào để lấy tổng các phần tử trong mảng JavaScript?

Bài viết ngắn gọn, thiết thực này sẽ hướng dẫn bạn qua ba ví dụ sử dụng ba cách tiếp cận khác nhau để tìm tổng tất cả các phần tử của một mảng đã cho trong Javascript [giả sử mảng này chỉ chứa các số]. Không chần chừ gì nữa, chúng ta hãy bắt đầu

Sử dụng mảng. phương pháp giảm []

Nếu bạn đang sử dụng Javascript hiện đại [ES6 trở lên], đây có thể là giải pháp gọn gàng và nhanh nhất

Thí dụ

// define a reusable function
const calculateSum = [arr] => {
    return arr.reduce[[total, current] => {
        return total + current;
    }, 0];
}

// try it
console.log[calculateSum[[1, 2, 3, 4, 5]]];

đầu ra

15

Phương thức reduce[] thực thi hàm rút gọn cho các phần tử của mảng. Nó trả về kết quả tích lũy từ lần gọi cuối cùng của hàm gọi lại. Dưới đây là cú pháp

array.reduce[function[total, current, index, arr], initialValue]

Ở đâu

  • tổng [bắt buộc]. Giá trị ban đầu hoặc giá trị được trả về trước đó của hàm
  • hiện tại [bắt buộc]. yếu tố hiện tại
  • hiện tại [tùy chọn]. Chỉ số của phần tử hiện tại
  • mảng [tùy chọn]. Mảng mà phần tử hiện tại thuộc về

Javascript rất thú vị và nó cũng có một phương thức khác khá giống với phương thức reduce[], tên là reduceRight[]. Bạn có thể lấy tổng của một mảng số chỉ với một dòng mã như thế này

const sum = [1, 2, 3, 4, 5].reduceRight[[acc, cur] => acc + cur, 0];
console.log[sum];

đầu ra

15

Sử dụng vòng lặp For cổ điển

Đây là một cách tiếp cận dễ hiểu và đã được sử dụng trong nhiều thập kỷ. Tuy nhiên, mã dài hơn một chút

Thí dụ

// define a reusable function
function calculateSum[arr] {
    var sum = 0;
    for [var i = 0; i < arr.length; i++] {
        sum += arr[i];
    }
    return sum;
}

// try it
console.log[calculateSum[[1, 2, 3, 4]]];

đầu ra

10

Sử dụng vòng lặp For/Of hiện đại

Cách tiếp cận này cũng sử dụng vòng lặp nhưng ngắn gọn hơn cách trước. Giống như mảng. phương thức reduce[], for/of đã được thêm vào ES6 [JS 2015]

Thí dụ

const arr = [9, 8, 7, 6, 5];
let sum = 0;
for [let e of arr]{
    sum += e;
}
console.log[sum];

đầu ra

________số 8_______

Sử dụng phương thức map[]

Mảng. map[] là phương thức mới trong ES6 và hơn thế nữa. Cái này rất hữu ích khi bạn phải xử lý một mảng, bao gồm cả việc tìm tổng các phần tử của nó

Thí dụ

const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];

let sum = 0
arr.map[e => sum += e]
console.log[sum];

đầu ra

15
0

Sử dụng vòng lặp While

Một cách khác để tính tổng các phần tử của mảng để bạn tham khảo [về cơ bản, nó khá giống với các phương pháp sử dụng vòng lặp khác]

Thí dụ

15
1

đầu ra

15
2

Sử dụng vòng lặp forEach

Chỉ là một loại vòng lặp khác trong Javascript. Đây là cách sử dụng nó để tính tổng giá trị của một mảng nhất định

15
3

đầu ra

10

Phần kết luận

Chúng tôi đã tìm hiểu một số cách để lấy tổng tất cả các phần tử của một mảng nhất định trong Javascript. Mặc dù chỉ cần một phương thức là đủ, nhưng biết được sự tồn tại của các phương thức khác cũng giúp bạn rất nhiều trong việc nắm vững nghệ thuật lập trình. Chúc may mắn và mã hóa hạnh phúc

Có nhiều cách bạn nên sử dụng để tính tổng của một dãy số. Hãy thảo luận về từng người trong số họ và thử các ví dụ

Bạn có thể sử dụng phương pháp để tìm tổng của một dãy số

Phương thức reduce[] thực thi hàm rút gọn được chỉ định trên từng thành viên của mảng dẫn đến một giá trị đầu ra duy nhất như trong ví dụ sau

Phương thức rút gọn Javascript để tìm tổng của một mảng

để mảng = [10, 20, 30, 40]; . giảm [hàm [a, b] { trả về a + b; }, 0]; . nhật ký [tổng]; . 100

0 trong là giá trị mặc định. Nếu giá trị mặc định không được cung cấp, phần tử đầu tiên trong mảng sẽ được sử dụng. Nếu mảng trống, bạn sẽ gặp lỗi

Nếu bạn sử dụng ES2015, bạn có thể làm cho nó dài dòng hơn như thế này

Phương thức rút gọn Javascript để tìm tổng của một mảng

const tổng = [10, 20, 30]. bàn điều khiển giảm [[a, b] => a + b]. nhật ký [tổng]; . 60

Một phương pháp nhanh khác là sử dụng vòng lặp thậm chí còn nhanh hơn như phương thức reduce[]

Javascript cho vòng lặp để tìm tổng của một mảng

để số = [10, 20, 30, 40, 50] để tổng = 0; . chiều dài; . nhật ký [tổng] // Đầu ra. 150

Một cách khác để tính mảng số là sử dụng vòng lặp như thế này

Vòng lặp Javascript forEach tính toán mảng số

mảng const = [10, 20, 30, 40]; . bảng điều khiển forEach[số => { kết quả += số; }]. nhật ký [kết quả]; . 100

Phương thức gọi một hàm rút gọn được cung cấp trên từng phần tử của mảng và dẫn đến một giá trị đầu ra duy nhất. Nó thực hiện gọi lại một lần cho mỗi giá trị được gán có trong mảng lấy bốn đối số. bộ tích lũy, giá trị hiện tại, chỉ số hiện tại, mảng. Nên cung cấp giá trị mặc định chẳng hạn như 0 để thực hiện phép cộng và 1 để thực hiện phép nhân

Chủ Đề