在 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 次瀏覽

開啟你的 職業

透過完成課程獲得認證

開始
廣告