遍歷一個數組,新增 JavaScript 中 true 出現的次數


假設我們有一個由 't'/'f' 表示的真/假的陣列,我們從資料庫中檢索到,如下所示 −

const arr = ['f', 't', 'f', 't', 't', 't', 'f', 'f', 't', 't', 't', 't', 't', 't', 'f', 't'];

我們需要編寫一個 JavaScript 函式,該函式接受一個這樣的陣列。我們的函式應當統計出現在兩個 'f' 之間的那些 't' 的連續出現次數,並返回一個計數陣列。

因此,對於上述陣列,輸出應如下所示 −

const output = [1, 3, 6, 1];

示例

相應的程式碼如下 −

const arr = ['f', 't', 'f', 't', 't', 't', 'f', 'f', 't', 't', 't', 't', 't', 't', 'f', 't'];
const countClusters = (arr = []) => {
   let res = [];
   res = arr.reduce((acc, val) => {
      const { length: l } = acc;
      if(val === 't'){
         acc[l - 1]++;
      }
      else if(acc[l - 1] !== 0){
         acc.push(0);
      };
      return acc;
   }, [0]);
   return res;
};
console.log(countClusters(arr));

輸出

在控制檯中的輸出如下 −

[ 1, 3, 6, 1 ]

更新於: 21-11-2020

94 次瀏覽

開啟您的職業生涯

完成課程並獲得認證

開始吧
廣告
© . All rights reserved.