Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

เพิ่ม line break ในสตริงเฉพาะตำแหน่งที่กำหนด และก็ต่อเมื่อมี whitespace ใน JavaScript

เราต้องเขียนฟังก์ชัน 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?