ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับสตริง str เป็นอาร์กิวเมนต์แรกและอาร์กิวเมนต์เดียว
สตริง str สามารถมีอักขระได้สามประเภท -
-
ตัวอักษรภาษาอังกฤษ:(A-Z), (a-z)
-
ตัวเลข:0-9
-
ตัวละครพิเศษ - ตัวละครที่เหลือทั้งหมด
ฟังก์ชันของเราควรวนซ้ำผ่านสตริงนี้และสร้างอาร์เรย์ที่ประกอบด้วยองค์ประกอบสามอย่างเท่านั้น ตัวแรกประกอบด้วยตัวอักษรทั้งหมดที่มีอยู่ในสตริง ที่สองประกอบด้วยตัวเลข และตัวที่สาม อักขระพิเศษจะรักษาลำดับสัมพัทธ์ของอักขระ ในที่สุดเราควรส่งคืนอาร์เรย์นี้
ตัวอย่างเช่น หากอินพุตของฟังก์ชันคือ
ป้อนข้อมูล
const str = 'thi!1s is S@me23';
ผลผลิต
const output = [ 'thisisSme', '123', '! @' ];
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
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));
ผลลัพธ์
[ 'thisisSme', '123', '! @' ]