Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

배열을 통해 반복, 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 ]