将字符串分割成子字符串 - 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 次浏览

开启您的职业生涯

完成课程获得认证

开始
广告