Computer >> Máy Tính >  >> Lập trình >> Javascript

Tính tổng loại trừ một phần tử trong JavaScript

Giả sử chúng ta có một mảng Số nguyên như thế này -

const arr = [12, 1, 4, 8, 5];

Chúng tôi được yêu cầu viết một hàm JavaScript lấy một mảng như vậy làm đối số duy nhất.

Sau đó, hàm sẽ trả về một mảng chính xác hai số nguyên -

  • Số nguyên đầu tiên phải là tổng nhỏ nhất có thể của tất cả các phần tử mảng không bao gồm bất kỳ phần tử nào.

  • Số nguyên thứ hai phải là tổng lớn nhất có thể của tất cả các phần tử mảng không bao gồm bất kỳ phần tử nào.

Điều kiện duy nhất đối với chúng tôi là chúng tôi phải làm điều này bằng cách sử dụng một và chỉ một vòng lặp for.

Ví dụ -

Đối với mảng trên, đầu ra phải là -

const output = [18, 29];

vì các số bị loại trừ lần lượt là 12 và 1.

Ví dụ

Mã cho điều này sẽ là -

const arr = [12, 1, 4, 8, 5];
const findExtremeNumbers = (arr = []) => {
   let sum = 0;
   let min = Infinity;
   let max = -Infinity;
   for(let i = 0; i < arr.length; i++){
      const curr = arr[i];
      sum += curr;
      if(curr > max){
         max = curr;
      }
      if(curr < min){
         min = curr;
      };
   };
   return [sum - max, sum - min];
};
console.log(findExtremeNumbers(arr));

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

[18, 29]