โดยปกติ เรามีฟังก์ชันเช่น 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