Vấn đề
Chúng tôi được yêu cầu viết một hàm JavaScript lấy chuỗi str làm đối số đầu tiên và duy nhất.
Chuỗi str có thể chứa ba loại ký tự -
-
Bảng chữ cái tiếng Anh:(A-Z), (a-z)
-
Chữ số:0-9
-
Các ký tự đặc biệt - Tất cả các ký tự còn lại khác
Hàm của chúng ta nên lặp lại qua chuỗi này và xây dựng một mảng bao gồm chính xác ba phần tử, đầu tiên chứa tất cả các bảng chữ cái có trong chuỗi, thứ hai chứa các chữ số và thứ ba là các ký tự đặc biệt duy trì thứ tự tương đối của các ký tự. Cuối cùng chúng ta sẽ trả về mảng này.
Ví dụ:nếu đầu vào của hàm là
Đầu vào
const str = 'thi!1s is S@me23';
Đầu ra
const output = [ 'thisisSme', '123', '! @' ];
Ví dụ
Sau đây là mã -
const str = 'thi!1s is S@me23'; const regroupString = (str = '') => { const res = ['', '', '']; const alpha = 'abcdefghijklmnopqrstuvwxyz'; const numerals = '0123456789'; for(let i = 0; i < str.length; i++){ const el = str[i]; if(alpha.includes(el) || alpha.includes(el.toLowerCase())){ res[0] += el; continue; }; if(numerals.includes(el)){ res[1] += el; continue; }; res[2] += el; }; return res; }; console.log(regroupString(str));
Đầu ra
[ 'thisisSme', '123', '! @' ]