这里我有一行代码,我更愿意将'123'
作为字符串值
然后在split()和join()的帮助下,它将变成类似'1,2,3'
的字符串
然后我想用1,2....
之类的实际数字替换所有数字字符串值
为此,我使用了一个名为k
的变量,并给它一个初始值为1
我在replace中使用了一个增量运算符来改变k
的值
但它没有用。也许我错了string.replace()如何执行替换操作
我也尝试使用parseInt('$1')
它也没有用。
console给出1,1,1的输出。不进行增量操作。
<html>
<body>
<script>
(function(){
var k=1;
console.log(prompt('input here').split('').join(',').replace(/(\d)/g,k++));
})();
</script>
</body>
</html>
答案 0 :(得分:3)
好吧,你可以使用替换回调:
var k = 1;
'123'.split('').join(',').replace(/\d/g, function() {
return k++;
});
目前,k++
value 被视为参数 - 换句话说,此操作仅被评估一次。
但是如果你只想获得一系列整数,那么有更好的方法。例如:
function getSequence(start, end) {
var res = [];
for (var i = start; i <= end; i++) {
res.push(i);
}
return res;
// or just...
// return Array.apply(0, Array(end - start + 1))
// .map(function(_, i) { return start + i });
// ... if you feel adventurous. )
}
getSequence(2, 4); // [2, 3, 4]
答案 1 :(得分:2)
如果您不想增加数字:
var arr = '123'.split('').map(Number);
如果你这样做:
var arr = '123'.split('').map(function (num) { return Number(num) + 1; });