将字符串拆分为相等部分 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' ]

更新时间:2020 年 8 月 31 日

801 次浏览

开始你的 职业生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.