บทความนี้จะสาธิตวิธีเขียนฟังก์ชัน JavaScript เพื่อลบศูนย์นำหน้า (leading zeros) และศูนย์ท้าย (trailing zeros) ออกจากสตริงตัวเลข โดยคืนค่าสตริงใหม่ที่ไม่มีศูนย์เหล่านั้น
ตัวอย่างโค้ด
const strNum = '054954000';
const removeZero = (str = '') => {
let startLen = 0;
let endLen = str.length - 1;
// หาตำแหน่งแรกที่ไม่ใช่ศูนย์
while (str[startLen] === '0') {
startLen++;
}
// หาตำแหน่งสุดท้ายที่ไม่ใช่ศูนย์
while (str[endLen] === '0') {
endLen--;
}
// ตัดสตริงเฉพาะส่วนที่ต้องการ
return str.substring(startLen, endLen + 1);
};
console.log(removeZero(strNum)); // ผลลัพธ์: '54954'
การทำงานของโค้ด
- ใช้ตัวแปร
startLenเก็บดัชนีเริ่มต้นของตัวเลขที่ไม่ใช่ศูนย์ - ใช้ตัวแปร
endLenเก็บดัชนีสุดท้ายของตัวเลขที่ไม่ใช่ศูนย์ - วนลูปเพื่อข้ามศูนย์นำหน้าและศูนย์ท้าย
- ใช้
substring()ตัดสตริงเฉพาะช่วงที่ต้องการ
ผลลัพธ์
54954
หมายเหตุ: วิธีนี้เหมาะสำหรับสตริงตัวเลขที่ต้องการรูปแบบมาตรฐาน เช่น การแสดงผลราคาหรือรหัสสินค้า