根据指定的长度将字符串拆分为数组。

是否存在使用JavaScript中的数组执行此操作的简便方法?

我写了下面的函数来做到这一点,但是有没有更短或更短的东西呢?

function splitIntoArr(str, num) {
  let arr = [];
  let len = Math.ceil(str.length / num);

  for (let i = 0; i < len; i++) {
     arr.push(+str.substring(i * num, i * num + num))
  }

  return arr;
}

splitIntoArr("123456789", 2)  # Outputs: [12, 34, 56, 78, 9]
splitIntoArr("123456789", 3)  # Outputs: [123, 456 ,789]
splitIntoArr("123456789", 4)  # Outputs: [1234, 5678 ,9]

最佳答案

您可以使用正则表达式和match最多所需的字符数:



const splitIntoArr = (str, num) => str.match(new RegExp(`.{1,${num}}`, 'g'));

console.log(splitIntoArr("123456789", 2));
console.log(splitIntoArr("123456789", 3));
console.log(splitIntoArr("123456789", 4));

关于javascript - 根据指定的长度将字符串拆分为数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55643664/

10-11 14:17