我对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.
提前多多感谢!!!!!!!!
答案 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);
}