Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
增量字符串数javascript_Javascript - Fatal编程技术网

增量字符串数javascript

增量字符串数javascript,javascript,Javascript,很抱歉问这个noob问题,但我真的不擅长javascript。我有一个字符串列表,末尾有数字: Test-001 测试-002 Test-003 我想增加字符串末尾的数字 到目前为止,我尝试的是: var test = 'Test-001'; var lastNum = test.split('-'); console.log( lastNum[1] + 1 ); // result: 0011 console.log( Number( lastNum[1] ) + 1 ) // result

很抱歉问这个noob问题,但我真的不擅长javascript。我有一个字符串列表,末尾有数字:

  • Test-001
  • 测试-002
  • Test-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);
    
    var测试='test-001';
    var lastNum=test.split('-');
    var result=parseInt(lastNum[1])+1;
    日志(parseInt(结果,10)<100?((parseInt(结果,10)<10?(“00”+结果):(“0”+结果))):结果;
    测试=‘测试-009’;
    lastNum=test.split('-');
    结果=parseInt(lastNum[1])+1;
    日志(parseInt(结果,10)<100?((parseInt(结果,10)<10?(“00”+结果):(“0”+结果))):结果;
    测试=‘测试-099’;
    lastNum=test.split('-');
    结果=parseInt(lastNum[1])+1;
    日志(parseInt(结果,10)<100?((parseInt(结果,10)<10?(“00”+结果):(“0”+结果))):结果;
    

    这将对您有所帮助。

    可能重复的不确定我是否得到了它,您是否正在尝试这样做@p.s.w.g标题说jQuery。
    parseInt()
    将不起作用,因为它需要以数字开头。您的
    lastNum
    NaN
    @RUJordan Oops。。修好了,谢谢。通过我的控制台运行,它现在工作正常。如果lastNum是
    Test-010
    right?@newbie,这是无效的——复制代码并在您自己的浏览器控制台中运行。如果您将
    test
    设置为
    “test-010”
    ,则
    lastNum
    将正确地等于
    011
    。感谢您提供非常详细的回答谢谢您的建议,但@jeremy的回答要简单得多。