โดยปกติ เรามีฟังก์ชันเช่น parseInt() และ parseFloat() ที่รับสตริงและแปลงสตริงตัวเลขเป็นตัวเลข แต่วิธีการเหล่านี้จะล้มเหลวเมื่อเรามีตัวเลขฝังอยู่ที่ดัชนีสุ่มภายในสตริง
ตัวอย่างเช่น ค่าต่อไปนี้จะคืนค่า 454 เท่านั้น แต่สิ่งที่เราต้องการคือ 4545453 −
parseInt('454ffdg54hg53')
ดังนั้น เราจึงต้องเขียนฟังก์ชัน JavaScript ที่รับสตริงดังกล่าวและส่งกลับตัวเลขที่เกี่ยวข้อง
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const numStr = '454ffdg54hg53'; const parseInteger = numStr => { let res = 0; for(let i = 0; i < numStr.length; i++){ if(!+numStr[i]){ continue; }; res = (res * 10) + (+numStr[i]); }; return res; }; console.log(parseInteger(numStr));
ผลลัพธ์
ต่อไปนี้เป็นผลลัพธ์ในคอนโซล -
4545453