Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Phân loại kiểu dữ liệu từ mảng thành các nhóm trong JavaScript

Vấn đề

Chúng ta cần viết một hàm JavaScript nhận vào một mảng các kiểu dữ liệu hỗn hợp. Hàm sẽ trả về một đối tượng chứa tên kiểu dữ liệu làm khóa và giá trị là mảng các phần tử thuộc kiểu dữ liệu đó có trong mảng.

Ví dụ

Dưới đây là mã nguồn:

const arr = [1, 'a', [], '4', 5, 34, true, undefined, null]; 
const groupDataTypes = (arr = []) => { 
  const res = {}; 
  for(let i = 0; i < arr.length; i++){ 
    const el = arr[i]; 
    const type = typeof el; 
    if(res.hasOwnProperty(type)){ 
      res[type].push(el); 
    }else{ 
      res[type] = [el]; 
    }; 
  }; 
  return res; 
}; 
console.log(groupDataTypes(arr));

Kết quả

Kết quả đầu ra trong console:

{ 
  number: [ 1, 5, 34 ], 
  string: [ 'a', '4' ], 
  object: [ [], null ], 
  boolean: [ true ], 
  undefined: [ undefined ] 
}