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

JavaScript의 배열에서 원하는 요소 합계 찾기

<시간/>

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

const arr = [1, 2, 1, 3, 2];

이러한 배열을 첫 번째 인수로 취하는 JavaScript 함수를 작성해야 합니다. 두 번째 인수는 원하는 합계를 나타내는 숫자입니다. 합계라고 합시다. 세 번째와 마지막 인수는 배열에서 원하는 합계까지 더해야 하는 숫자의 개수를 나타내는 숫자이기도 합니다. 요소의 반복), 이 숫자를 num이라고 합시다.

함수는 마침내 원하는 합계와 길이를 가진 모든 그룹의 수를 반환해야 합니다.

따라서 입력 값이 -

인 경우
const arr = [1, 2, 1, 3, 2];
const sum = 3;
const num = 2;

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

const output = 2;

두 그룹이 1, 2 및 1, 2이기 때문에

예시

이에 대한 코드는 -

const arr = [1, 2, 1, 3, 2];
const sum = 3;
const num = 2;
const findGroups = (arr = [], sum = 1, num = 1) => {
   let count = 0
   for(let i = 0; i < arr.length; i++){
      let part = arr.slice(0 + i, num + i);
      const partSum = part.reduce((acc, val) => acc + val);
      if(partSum === sum){
         count++;
      };
   };
   return count
};
console.log(findGroups(arr, sum, num));

출력

콘솔의 출력은 -

2