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

JavaScript에서 새 배열을 형성하기 위해 배열 요소 누적

<시간/>

문제

숫자 배열 arr을 첫 번째 인수로, 숫자 num(num <=배열의 길이)을 두 번째 인수로 사용하는 JavaScript 함수를 작성해야 합니다.

우리의 함수는 배열 arr의 길이가 num인 각 인접 하위 배열을 더하여 새 배열의 해당 요소를 형성하고 마지막으로 새 배열을 반환해야 합니다.

예를 들어, 함수에 대한 입력이 -

인 경우
const arr = [1, 2, 3, 4, 5, 6];
const num = 2;

그러면 출력은 다음과 같아야 합니다.

const output = [3, 5, 7, 9, 11];

출력 설명

1 + 2 =3, 2 + 3 =5 등이기 때문에...

예시

다음은 코드입니다-

const arr = [1, 2, 3, 4, 5, 6];
const num = 2;
const accumulateArray = (arr = [], num = 1) => {
   const res = [];
   let sum = 0, right = 0, left = 0;
   for(; right < num; right++){
      sum += arr[right];
   };
   res.push(sum);
   while(right < arr.length){
      sum -= arr[left];
      sum += arr[right];
      right++;
      left++;
      res.push(sum);
   };
   return res;
};
console.log(accumulateArray(arr, num));

출력

다음은 콘솔 출력입니다-

[3, 5, 7, 9, 11]