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

Phân nhóm ký tự của chuỗi trong JavaScript

Vấn đề

Chúng ta cần viết một hàm JavaScript nhận vào một chuỗi str làm đối số duy nhất.

Chuỗi str có thể chứa ba loại ký tự:

  • Chữ cái tiếng Anh: (A-Z), (a-z)

  • Chữ số: 0-9

  • Ký tự đặc biệt – Tất cả các ký tự còn lại

Hàm phải duyệt qua chuỗi này và xây dựng một mảng gồm đúng ba phần tử: phần tử đầu chứa tất cả chữ cái, phần tử thứ hai chứa chữ số, phần tử thứ ba chứa ký tự đặc biệt, giữ nguyên thứ tự tương đối của các ký tự. Cuối cùng 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ụ

Dưới đâ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', '! @']