"abcdefgh"を3文字ずつに区切って配列化する みたいなの

前記事の時に必要になった機能で、たまにあると便利と思うので作りました
var n=3, str="abcdefgh"
var r=new RegExp(".{1,"+n+"}","g")
str.match(r)
nが何文字ずつか、strが分割対象の文字列です
色々試してるときは長いコードになってましたが正規表現使うとすごく簡単に書けました…

正規表現を使ってても最初はreplaceの第二引数に関数書けることを使ってましたが普通にmatchすれば関数返ってくるなー ということでreplace版はボツに
var n=3, str="ab"
var a=[], r=new RegExp(".{1,"+n+"}","g"), s=""
str.replace(r,function(e){return a.push(e),""})
こっちだとaを初期化する手間とstr.replace(~~)の返り値が結果じゃないので「.」つないで書きたいときに不便ということもあります