Computer >> Máy Tính >  >> Lập trình >> Javascript

Đếm số kiểu dữ liệu trong một mảng - JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript đưa vào một mảng có chứa các phần tử của các kiểu dữ liệu khác nhau và hàm phải trả về một bản đồ thể hiện tần suất của từng loại dữ liệu.

Giả sử sau đây là mảng của chúng tôi -

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

Ví dụ

Sau đây là mã -

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));

Đầu ra

Sau đây là đầu ra trong bảng điều khiển -

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