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