假设我们有一个这样的数字数组 -
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