Ric*_*omi 3 javascript string algorithm
例如,如果初始字符串s是"0123456789",则所需的输出将是数组["01", "23", "45", "67", "89"].
在JavaScript中寻找优雅的解决方案.
我在想(非常不优雅)是通过拆分空字符串并使用Array.forEach方法迭代字符串,并在每两个字符后插入一个分隔符,然后由该分隔符拆分.这不是一个好的解决方案,但这是我的出发点.
编辑:已发布RegExp解决方案.我很想知道是否还有其他方法.
怎么样:
var array = ("0123456789").match(/\w{1,2}/g);
Run Code Online (Sandbox Code Playgroud)
这里我们.match()在你的字符串上使用匹配任何两个或单个({1,2})单词字符(\w)并返回结果数组.
关于编辑非正则表达式解决方案; 你可以做一个不那么优雅的功能,如下所示:
String.prototype.getPairs = function()
{
var pairs = [];
for(var i = 0; i < this.length; i += 2)
{
pairs[pairs.length] = this.substr(i, 2);
}
return pairs;
}
var array = ("01234567890").getPairs();
Run Code Online (Sandbox Code Playgroud)