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

ตรวจสอบสตริงที่มีตัวเลขอยู่ใน JavaScript


ปัญหา

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับสตริง str ฟังก์ชันของเราควรตรวจสอบตัวอักษรในสตริงตามตัวเลขที่อยู่ข้างหน้า

เราจำเป็นต้องแยกสตริงด้วยตัวเลข จากนั้นเปรียบเทียบตัวเลขกับจำนวนอักขระในสตริงย่อยต่อไปนี้ หากตรงกันทั้งหมด สตริงจะถูกต้องและเราควรจะคืนค่าเป็น "จริง" หรือ "เท็จ" ไม่เช่นนั้น

ตัวอย่างเช่น −

5hello4from2me

ควรคืนค่าเป็นจริง

เพราะเมื่อแยกตามตัวเลข สตริงจะกลายเป็น 'สวัสดี', 'จาก', 'ฉัน' และสตริงทั้งหมดเหล่านี้มีความยาวเท่ากับตัวเลขที่อยู่ข้างหน้า

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

const str = '5hello4from2me';
const validateString = (str = '') => {
   const lenArray = [];
   let temp = '';
   for(let i = 0; i < str.length; i++){
      const el = str[i];
      if(+el){
         lenArray.push([+el, '']);
      }else{
         const { length: len } = lenArray;
         lenArray[len - 1][1] += el;
      };
   };
   return lenArray.every(sub => sub[0] === sub[1].length);
};
console.log(validateString(str));

ผลลัพธ์

ต่อไปนี้เป็นเอาต์พุตคอนโซล -

true