Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 하나의 요소를 제외한 합계

<시간/>

다음과 같은 정수 배열이 있다고 가정합니다. -

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

이러한 배열을 유일한 인수로 취하는 JavaScript 함수를 작성해야 합니다.

그러면 함수는 정확히 두 개의 정수 배열을 반환해야 합니다. -

  • 첫 번째 정수는 한 요소를 제외한 모든 배열 요소의 가능한 가장 작은 합이어야 합니다.

  • 두 번째 정수는 한 요소를 제외한 모든 배열 요소의 가능한 최대 합이어야 합니다.

우리를 위한 유일한 조건은 하나의 for 루프를 사용하여 이 작업을 수행해야 한다는 것입니다.

예를 들어 -

위 배열의 경우 출력은 -

여야 합니다.
const output = [18, 29];

제외된 숫자는 각각 12와 1이기 때문입니다.

예시

이에 대한 코드는 -

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));

출력

콘솔의 출력은 -

[18, 29]