繁体   English   中英

递增字符串数javascript

[英]Increment String number javascript

很抱歉这个菜鸟问题,但是我对javascript真的不满意。 我有String列表,其末尾有数字:

  1. 测试-001
  2. 测试-002
  3. 测试-003

我想增加字符串末尾的数字。

到目前为止我尝试过的是:

var test = 'Test-001';
var lastNum = test.split('-');

console.log( lastNum[1] + 1 ); // result: 0011
console.log( Number( lastNum[1] ) + 1 ) // result: 2

我要做的是产生结果(Test-001到Test-999)。

先感谢您

您接近了....但是请尝试以下操作:

var test = 'Test-001';
var pieces = test.split('-');
var prefix = pieces[0];
var lastNum = pieces[1];
// lastNum is now a string -- lets turn it into a number. 
// (On older browsers, the radix 10 is essential -- otherwise it
// will try to parse the number as octal due to the leading zero.
// the radix is always safe to use and avoids any confusion.)

lastNum = parseInt(lastNum, 10);
// lastNum = +lastNum is also a valid option.

// Now, lets increment lastNum
lastNum++;

// Now, lets re-add the leading zeros
lastNum = ("0000" + lastNum).substr(-3);

尝试做这样的事情:

  var test = 'Test-001';
        var lastNum = test.split('-');
        var result=parseInt(lastNum[1]) + 1;
        console.log(parseInt(result, 10) < 100 ? ((parseInt(result, 10) < 10 ? ("00" + result) : ("0" + result))) : result);

        test = 'Test-009';
        lastNum = test.split('-');
        result = parseInt(lastNum[1]) + 1;
        console.log(parseInt(result, 10) < 100 ? ((parseInt(result, 10) < 10 ? ("00" + result) : ("0" + result))) : result);

        test = 'Test-099';
        lastNum = test.split('-');
        result = parseInt(lastNum[1]) + 1;
        console.log(parseInt(result, 10) < 100 ? ((parseInt(result, 10) < 10 ? ("00" + result) : ("0" + result))) : result);

这将为您提供帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM