Làm cách nào để tính tổng một dãy số trong javascript?

Tìm hiểu cách giải thuật toán freeCodeCamp 'Tính tổng tất cả các số trong một dãy' bằng cách sử dụng Mảng. phương thức JavaScript sort() và vòng lặp for

Show

Trong thuật toán freeCodeCamp này, hàm của chúng ta sẽ chấp nhận một mảng gồm hai số làm đối số. Từ đó chúng ta sẽ cần trả về tổng của hai số đó cộng với tổng của các số giữa chúng

Yêu cầu

  • function sumAll(arr) {
      return 1;
    }
    
    sumAll([1, 4]);
    
    4 sẽ trả lại một
    function sumAll(arr) {
      return 1;
    }
    
    sumAll([1, 4]);
    
    5
  • function sumAll(arr) {
      return 1;
    }
    
    sumAll([1, 4]);
    
    4 nên trả về
    function sumAll(arr) {
      return 1;
    }
    
    sumAll([1, 4]);
    
    7
  • function sumAll(arr) {
      return 1;
    }
    
    sumAll([1, 4]);
    
    8 sẽ trả về
    function sumAll(arr) {
      return 1;
    }
    
    sumAll([1, 4]);
    
    7
  • function sumAll(arr) {
      return 1;
    }
    
    sumAll([1, 4]);
    
    1 nên trả lại
    function sumAll(arr) {
      return 1;
    }
    
    sumAll([1, 4]);
    
    2
  • function sumAll(arr) {
      return 1;
    }
    
    sumAll([1, 4]);
    
    3 nên trả lại
    function sumAll(arr) {
      return 1;
    }
    
    sumAll([1, 4]);
    
    2

mã giả

Hãy chia nhỏ những bước chúng ta cần thực hiện để viết giải pháp của mình

// Create a function that accepts an array as an argument
    
    // Create a variable to store the result
    
    // Sort the array from low to high
        // Return sorted array
        
    // Loop through sorted array 
    // initializing the loop at the lowest number in array
    // and ending loop at the largest number in array
        // Add each number in loop to result variable
    
    // Return result variable

Giải thuật toán

Thiết lập chức năng

Hãy bắt đầu với bản tóm tắt freeCodeCamp cung cấp cho chúng ta hàm và đối số mảng,

function sumAll(arr) {
  return 1;
}

sumAll([1, 4]);
5

function sumAll(arr) {
  return 1;
}

sumAll([1, 4]);

Tạo biến để lưu kết quả

Ở đây chúng ta cần tạo một biến chứa kết quả mà chúng ta sẽ trả về ở cuối hàm

function sumAll(arr) {

    // Initialize variable to hold result
    var res = 0;
    
    return 1;
}

sumAll([1, 4]);

Sắp xếp
function sumAll(arr) {
  return 1;
}

sumAll([1, 4]);
5 từ thấp đến cao

Ở đây chúng tôi sẽ sử dụng phương pháp

function sumAll(arr) {
  return 1;
}

sumAll([1, 4]);
7 sẽ cho phép chúng tôi sắp xếp
function sumAll(arr) {
  return 1;
}

sumAll([1, 4]);
5 từ cao xuống thấp. Có nhiều trường hợp sử dụng khác cho
function sumAll(arr) {
  return 1;
}

sumAll([1, 4]);
9, vì vậy hãy chắc chắn đọc chúng tại đây

Đối với trường hợp sử dụng của chúng tôi, chúng tôi có thể tham khảo phần này của tài liệu

Để so sánh các số thay vì các chuỗi, hàm so sánh có thể chỉ cần trừ b từ a. Hàm sau sẽ sắp xếp mảng tăng dần (nếu nó không chứa Infinity và NaN)

function sumAll(arr) {
  return 1;
}

sumAll([1, 4]);
2

Lặp qua
function sumAll(arr) {
  return 1;
}

sumAll([1, 4]);
5 và trả về
function sumAll(arr) {

    // Initialize variable to hold result
    var res = 0;
    
    return 1;
}

sumAll([1, 4]);
1

Chúng ta cần tạo vòng lặp qua tất cả các số, bắt đầu bằng

function sumAll(arr) {

    // Initialize variable to hold result
    var res = 0;
    
    return 1;
}

sumAll([1, 4]);
2 và kết thúc bằng
function sumAll(arr) {

    // Initialize variable to hold result
    var res = 0;
    
    return 1;
}

sumAll([1, 4]);
2. Bằng cách đó, chúng ta có thể tăng
function sumAll(arr) {

    // Initialize variable to hold result
    var res = 0;
    
    return 1;
}

sumAll([1, 4]);
1 sau mỗi lần vượt qua vòng lặp, cuối cùng sẽ tính tổng tất cả các số trong phạm vi giữa
function sumAll(arr) {

    // Initialize variable to hold result
    var res = 0;
    
    return 1;
}

sumAll([1, 4]);
2 -
function sumAll(arr) {

    // Initialize variable to hold result
    var res = 0;
    
    return 1;
}

sumAll([1, 4]);
6. Cuối cùng, chúng ta chỉ cần thay đổi câu lệnh return của mình thành return
function sumAll(arr) {

    // Initialize variable to hold result
    var res = 0;
    
    return 1;
}

sumAll([1, 4]);
1 thay vì trả về
function sumAll(arr) {

    // Initialize variable to hold result
    var res = 0;
    
    return 1;
}

sumAll([1, 4]);
8 như từ bản soạn sẵn của hàm ban đầu

function sumAll(arr) {
  return 1;
}

sumAll([1, 4]);
2

Hãy thử đoạn mã này trong bảng điều khiển trình duyệt của bạn

Bùng nổ 💥

Tuyệt vời - hy vọng đây là hướng dẫn hữu ích về thuật toán freeCodeCamp, 'Tính tổng tất cả các số trong một dãy'. Vui lòng gửi cho tôi các đề xuất hoặc giải pháp của bạn và tôi rất sẵn lòng giới thiệu chúng tại đây

Hãy gửi email cho tôi theo địa chỉ

function sumAll(arr) {

    // Initialize variable to hold result
    var res = 0;
    
    return 1;
}

sumAll([1, 4]);
9 nếu bạn có bất kỳ câu hỏi nào và nếu bạn thích nội dung này, hãy theo dõi và đăng ký bên dưới. 👇