將字串分割成子字串 - JavaScript


我們需要編寫一個 JavaScript 函式,該函式接受一個字串和一個數字 n 作為兩個引數(數字應滿足能精確除以字串長度),並且我們必須返回一個包含 n 個相等長度的字串的陣列。

例如 -

如果字串為 "how" 並且數字為 2,則我們的輸出應為 -

["h", "o", "w"];

此處,每一個子字串恰好包含 -

(length of array/n) characters

並且透過交替取字串的第一個和最後一個字母來形成每一個子字串。

示例

以下是程式碼 -

const str = "how";
const num = 3;
const segregate = (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(segregate(str, num));

輸出

這將在控制檯輸出以下內容 -

[ 'h', 'w', 'o' ]

更新日期: 18-Sep-2020

171 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始
廣告