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

JavaScript의 배열에서 각 데이터 유형의 빈도를 나타내는 맵 반환

<시간/>

다른 데이터 유형의 요소를 포함하는 배열을 사용하는 JavaScript 함수를 작성해야 하며 이 함수는 각 데이터 유형의 빈도를 나타내는 맵을 반환해야 합니다.

다음이 우리의 배열이라고 가정해 봅시다 -

const arr = [23, 'df', undefined, null, 12, {
   name: 'Rajesh'
}, [2, 4, 7], 'dfd', null, Symbol('*'), 8];

예시

다음은 각 데이터 유형의 빈도를 나타내는 맵을 반환하는 코드입니다 -

const arr = [23, 'df', undefined, null, 12, {
   name: 'Rajesh'
}, [2, 4, 7], 'dfd', null, Symbol('*'), 8];
const countDataTypes = arr => {
   return arr.reduce((acc, val) => {
      const dataType = typeof val;
      if(acc.has(dataType)){
         acc.set(dataType, acc.get(dataType)+1);
      }else{
         acc.set(dataType, 1);
      };
      return acc;
   }, new Map());
};
console.log(countDataTypes(arr));

출력

콘솔의 출력은 -

Map(5) {
   'number' => 3,
   'string' => 2,
   'undefined' => 1,
   'object' => 4,
      'symbol' => 1
}