เราต้องเขียนฟังก์ชัน breakString() รับสองอาร์กิวเมนต์: แรก สตริงที่จะแตก สอง ตัวเลขที่แทนจำนวนตัวอักษรเกณฑ์ หลังจากถึงเกณฑ์แล้ว ต้องเพิ่ม line break แทนช่องว่างซ้ำๆ
เช่น โค้ดต่อไปนี้ควรเพิ่ม line break ที่ช่องว่างที่ใกล้ที่สุด หากผ่าน 4 ตัวอักษรโดยไม่มี line break
const text = 'Hey can I call you by your name?'; console.log(breakString(text, 4));
ผลลัพธ์ที่คาดหวัง
Hey can I call you by your name?
เราจะวนลูปด้วย for loop เก็บตัวนับว่าผ่านตัวอักษรกี่ตัวแล้วโดยไม่ได้แทรก '\n' หากเกินเกณฑ์และเจอช่องว่าง ให้แทนที่ด้วย line break ในสตริงใหม่และรีเซ็ตตัวนับเป็น 0 มิฉะนั้น เก็บตัวอักษรต้นทางในสตริงใหม่และเพิ่มตัวนับ
โค้ดเต็ม
ตัวอย่าง
const text = 'Hey can I call you by your name?';
const breakString = (str, limit) => {
let brokenString = '';
for(let i = 0, count = 0; i < str.length; i++){
if(count >= limit && str[i] === ' '){
count = 0;
brokenString += '\n';
}else{
count++;
brokenString += str[i];
}
}
return brokenString;
}
console.log(breakString(text, 4));
ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็น
Hey can I call you by your name?