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 ]
}