【发布时间】:2018-01-26 12:02:15
【问题描述】:
根据Split large string in n-size chunks in JavaScript 中接受的答案,我正在尝试将字符串从 1 拆分为它包含的字符数,然后将它们推送到数组中。
这是我的代码:
function solve(s){
var n = [];
for (var i = 1; i <= s.length; i++) {
n.push(s.match(/.{1,i}/g));
}
return n
};
如果我运行solve("1341");,它会返回[null, null, null, null]
但是,如果我在不使用 for 循环的情况下编写函数,它会按照我的意图执行:
function solve(s){
var n = [];
n.push(s.match(/.{1,1}/g));
n.push(s.match(/.{1,2}/g));
n.push(s.match(/.{1,3}/g));
n.push(s.match(/.{1,4}/g));
return n
};
解决(“1341”);返回[["1", "3", "4", "1"], ["13", "41"], ["134", "1"], ["1341"]]
为什么我的代码在 for 循环中失败了?
【问题讨论】:
-
这与循环无关。你的正则表达式不同。
标签: javascript regex string split match