Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript로 배열의 교차 요소 합계 구하기

문제 이해하기

숫자 배열을 유일한 인수로 받아, 배열에서 번갈아 등장하는 요소들(교차 요소)의 합을 계산한 뒤 그 결과를 반환하는 JavaScript 함수를 작성해야 합니다.

예를 들어, 입력 배열이 다음과 같다면 −

const arr = [1, 2, 3, 4, 5, 6, 7];

출력 결과는 다음과 같아야 합니다 −

1 + 3 + 5 + 7 = 16

즉, 첫 번째 요소부터 시작하여 한 칸씩 건너뛰며 요소를 더하는 방식입니다.

구현 코드

다음은 위 문제를 해결하는 전체 코드입니다 −

const arr = [1, 2, 3, 4, 5, 6, 7];
const alternativeSum = (arr = []) => {
   let sum = 0;
   for(let i = 0; i < arr.length; i++){
      const el = arr[i];
      if(i % 2 !== 0){
         continue;
      };
      sum += el;
   };
   return sum;
};
console.log(alternativeSum(arr));

코드 설명

이 코드의 동작 원리를 단계별로 살펴보겠습니다.

  • 화살표 함수 정의: alternativeSum은 배열을 매개변수로 받는 화살표 함수입니다. 기본값으로 빈 배열을 설정해 인수가 없을 때 발생할 수 있는 오류를 방지합니다.
  • 반복문 처리: for 반복문으로 배열의 모든 요소를 순회하면서, 현재 인덱스 i가 홀수(i % 2 !== 0)라면 continue를 통해 해당 요소를 건너뜁니다.
  • 합계 누적: 짝수 인덱스(0, 2, 4, 6...)에 위치한 요소만 변수 sum에 더해집니다.
  • 결과 반환: 반복이 끝나면 누적된 합계를 반환합니다.

실행 결과

콘솔에 출력되는 결과는 다음과 같습니다 −

16

배열 [1, 2, 3, 4, 5, 6, 7]에서 짝수 인덱스에 있는 요소 1, 3, 5, 7만 더해져 최종적으로 16이 출력됩니다.