Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tổng mảng trừ đi một phần tử (min/max) trong JavaScript

Viết hàm trả về mảng 2 phần tử: tổng nhỏ nhất và lớn nhất có thể khi loại bỏ đúng 1 phần tử. Chỉ dùng 1 vòng lặp.

Ví dụ: [12,1,4,8,5] → [18,29] (loại 12 → min, loại 1 → max).

Ví dụ

const arr = [12, 1, 4, 8, 5];
const findExtremeNumbers = (arr = []) => {
  let sum = 0, min = Infinity, 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));

Kết quả

[18, 29]