Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

配列を反復処理し、JavaScriptでtrueのオカレンスを追加します


次のようなデータベースから取得した「t」/「f」で表されるtrue/falseの配列があるとします-

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

そのような配列を1つ取り込むJavaScript関数を作成する必要があります。この関数は、2つの「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 ]

  1. JavaScriptの配列reverse()

    JavaScript配列reverse()関数は、配列内の要素の順序を逆にします 以下は、配列のreverse()関数のコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document&

  2. JavaScriptでの配列の分解。

    破棄すると、配列から値が解凍されます。以下は、JavaScriptでの配列の非構造化のコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <