Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การจัดกลุ่มอักขระใหม่ของสตริงใน JavaScript


ปัญหา

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