在JavaScript中,如何将字符串中的字母切碎成固定长度的小块?

在JavaScript中,如何将字符串中的字母切碎成固定长度的小块?,javascript,Javascript,提前感谢您抽出时间阅读。我是一个完全的初学者,我知道这听起来可能是一个“帮助我理解这个”的问题,但如果是这样的话,我很抱歉,我会尽量具体一些 基本上,我需要创建一个函数来将字符串切碎为输入长度较小的字符串,我尝试过数组方法,但由于某些原因,我一直得到一个空数组。因此,如果输入字符串为“hell”,输入长度为2,则输出为[“he”,“ll] 另外,关于这个问题,我想知道您是否可以设置一个for循环条件x.length您可以这样做: function chop(a, b) { var ans

提前感谢您抽出时间阅读。我是一个完全的初学者,我知道这听起来可能是一个“帮助我理解这个”的问题,但如果是这样的话,我很抱歉,我会尽量具体一些

基本上,我需要创建一个函数来将字符串切碎为输入长度较小的字符串,我尝试过数组方法,但由于某些原因,我一直得到一个空数组。因此,如果输入字符串为“hell”,输入长度为2,则输出为[“he”,“ll]


另外,关于这个问题,我想知道您是否可以设置一个for循环条件x.length您可以这样做:

function chop(a, b) {

  var ans = [];

  for (var i = 0; i < a.length; i += b) {
    ans.push(a.substring(i, i + b));
  }
  console.log(ans);   
}

chop("hello", 2);  //logs ["he", "ll", "o"]
功能印章(a、b){
var ans=[];
对于(变量i=0;i
您可以这样做:

function chop(a, b) {

  var ans = [];

  for (var i = 0; i < a.length; i += b) {
    ans.push(a.substring(i, i + b));
  }
  console.log(ans);   
}

chop("hello", 2);  //logs ["he", "ll", "o"]
功能印章(a、b){
var ans=[];
对于(变量i=0;i
使用正则表达式很简单:

"hello".match(/.{1,2}/g) || []; // ["he", "ll", "o"]
但是,如果您事先不知道第二个参数的值,它会有点脏:

function chop(a, b) {
  return a.match(new RegExp('.{1,'+b+'}','g')) || [];
}
chop("hello", 2); // ["he", "ll", "o"]

在这种情况下,最好在将
b
插入正则表达式之前对其进行清理。

使用正则表达式很简单:

"hello".match(/.{1,2}/g) || []; // ["he", "ll", "o"]
但是,如果您事先不知道第二个参数的值,它会有点脏:

function chop(a, b) {
  return a.match(new RegExp('.{1,'+b+'}','g')) || [];
}
chop("hello", 2); // ["he", "ll", "o"]

在这种情况下,在将
b
插入正则表达式之前对其进行消毒是个好主意。

请努力将您的代码格式化好。谢谢。是的,我想这就是为什么我的问题一直被否决的原因。请让我知道如何才能做得更好?我想您已经读到,我是一个初学者,而且我也是stackover新手flow,所以我会很感激任何建议。请花点精力把代码格式化好。谢谢。是的,我想这就是为什么我的问题一直被否决的原因。请让我知道我如何才能做得更好?我想你已经读到我是初学者,我也是stackoverflow的新手,所以我会很感激任何建议我只是不明白为什么不能这里的i+=b不是for循环中的i++?第一次
迭代
它是
i=0
a.substring(0,2)
,第二次=>
i现在是0+2(b)=2
a.substring(2,4)
,第三次=>
i现在是2+2(b)=4
a.substring(4,6)
,第四次=
i现在是4+2(b)
a
。如此一来,你的解释使它变得容易多了。非常感谢你的解释。我只是不明白为什么for循环中有i+=b而不是i++?首先
迭代
它是
i=0
a.substring(0,2)
,第二=>
我现在是0+2(b)=2
a.substring(2,4)
,第三=>
我现在是2+2(b)我现在是4+2(b)
a.substring(6,6)
,forth=>
i现在是4+2(b)
a.substring(6,8)
。诸如此类,你的解释让事情变得容易多了。非常感谢你的解释