eg: abc ----> abc(1) ----> abc(2) ……
加入新文件時,需要檢查當前已經重命名的最後一個文件標號是多少。
代碼是在不宜給每個文件新加一個額外的屬性來記錄標號的情況下的處理。
如果加一個額外的標記就很好辦了。
PS:$scope.docs是代表當前的已有的所有文檔。
$scope.checkSameName = function(name) {
if (!name) { // if it's not named file,don't check
return name;
}
var finalNum = 0,
addNum = 0,
maxNum = 1;
var flag = false;
for (var i = 0; i < $scope.docs.length; i++) {
var tname = $scope.docs[i].name;
var exp = /[(]{1}[\d]+[)]{1}$/;
if (exp.test(tname)){
tname = tname.replace(exp,"");
}
// console.log('tt',tname);
if (name == tname) {
flag = true;
var tstr = tname.match(exp);
if (tstr) {
var reg = /.*\([^\)\(\d]*(\d+)[^\)\(\d]*\).*/;
var finalNum = tstr.replace(reg, "$1");
if (finalNum > maxNum) {
maxNum = finalNum+1;
}
}
}
}
if (flag) {
addNum = parseInt(maxNum);
name += '('+addNum+')';
}
return name;
}