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

แยกสตริงออกเป็นส่วนเท่าๆ กัน JavaScript


เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับสตริงและตัวเลข n เป็นสองอาร์กิวเมนต์ (ตัวเลขควรเป็นแบบที่แบ่งความยาวของสตริงได้อย่างแม่นยำ) และเราต้องคืนค่าอาร์เรย์ของ n สตริงที่มีความยาวเท่ากัน

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

If the string is "helloo" and the number is 3
Our output should be:
["ho", "eo", "ll"]

ที่นี่ แต่ละสตริงย่อยมีอักขระ (ความยาวของอาร์เรย์/n) ทุกประการ และแต่ละสตริงย่อยจะมีรูปแบบโดยใช้ตัวอักษรตัวแรกและตัวสุดท้ายของสตริงที่สอดคล้องกันหรือ

มาเขียนโค้ดสำหรับฟังก์ชันนี้กัน −

ตัวอย่าง

const str = 'helloo';
const splitEqual = (str, n) => {
   if(str.length % n !== 0){
      return false;
   }
   const len = str.length / n;
   const strArray = str.split("");
   const arr = [];
   let i = 0, char;
   while(strArray.length){
      if(i % 2 === 0){
         char = strArray.shift();
      }else{
         char = strArray.pop();
      };
      if(i % len === 0){
         arr[i / len] = char;
      }else{
         arr[Math.floor(i / len)] += char;
      };
      i++;
   };
   return arr;
};
console.log(splitEqual(str, 3));

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็น -

[ 'ho', 'eo', 'll' ]