在字符串中找到MAX Number以获取记录列表

时间:2015-01-23 20:13:32

标签: javascript arrays

我对JavaScript相对较新,并尝试取得以下成就。

假设我们有以下数据记录。

Example data records:
A_ID_R1_V1
A_ID_R1_V2
A_ID_R2_V1

基本上我正在寻找两个结果:

1.根据记录A_ID_R1_V2创建一个字符串。

Input  = A_ID_R1_V2
Output = A_ID_R1_V3

我对此的想法是找到MAX V<#>。对于A_ID_R1_然后添加1。

2.根据记录A_ID_R2_V1创建一个字符串。

Input  = A_ID_R2_V1
Output = A_ID_R3_V1

我对此的想法是找到MAX R<#>。对于所有记录然后添加1.

提前多多感谢!!!!!!!!

2 个答案:

答案 0 :(得分:0)

尝试使用正则表达式:http://jsfiddle.net/mig1098/wh6n2oqL/

newEntry = function(entry){
    var str2 = entry.replace(/\d+$/,'');
    var num = parseInt(entry.replace(/A_ID_R(\d+)_V/,''));
    num = num+1;
    return str2+num;
}

答案 1 :(得分:0)

我有强烈的感觉,这是某种学校作业......

无论如何,这将完成这项工作,但它不复杂也不是非常有效

function updateId(letter){
    var pos = (letter === 'V')?3:2;
    var parts = id.split('_');
    var num = parseInt(parts[pos].substring(1,parts[pos].length));
    parts[pos] = letter+(num+1);

    id = parts.join('_');

    logVal(id);
}