ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน 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', '! @' ]