在 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