在 JavaScript 数组中找到想要的元素之和


假设我们有一个数字数组,类似这样 −

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

我们需要编写一个 JavaScript 函数,以第一个参数作为此类数组。第二个参数将是一个表示所需总和的数字,我们称之为 sum,第三个也是最后一个参数也将是一个表示从数组中应将多少个数字加起来以得到所需总和(不重复元素)的数字,我们称之为 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

更新时间: 2021-02-24

189 次浏览

开启你的 职业

通过完成课程获得认证

开始
广告