Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

เพิ่มตัวแบ่งบรรทัดภายในสตริงระหว่างตำแหน่งเฉพาะและเฉพาะเมื่อมีช่องว่าง JavaScript


เราจำเป็นต้องเขียนฟังก์ชันโดยพูดว่า breakString() ที่มีสองอาร์กิวเมนต์:อันดับแรก สตริงที่จะขาดและที่สอง ตัวเลขที่แสดงถึงจำนวนขีดจำกัดของอักขระหลังจากเข้าถึง ซึ่งเราต้องเพิ่มตัวแบ่งบรรทัดซ้ำๆ แทนช่องว่าง

ตัวอย่างเช่น −

รหัสต่อไปนี้ควรผลักตัวแบ่งบรรทัดที่ช่องว่างที่ใกล้ที่สุด ถ้าอักขระ 4 ตัวผ่านไปโดยไม่ขึ้นบรรทัดใหม่ -

const text = 'Hey can I call you by your name?';
console.log(breakString(text, 4));

ผลลัพธ์ที่คาดหวัง -

Hey can
I call
you by
your
name?

ดังนั้น เราจะวนซ้ำโดยใช้ a for วนซ้ำ เราจะนับจำนวนอักขระที่ผ่านไปด้วยการแทรก '\ n' หากการนับเกินขีดจำกัด และเราพบช่องว่างที่เราแทนที่ด้วยตัวแบ่งบรรทัดในสตริงใหม่ และ รีเซ็ตการนับเป็น 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?