Javascript 自动重命名变量(类似于MS windows在重复数据的末尾使用数字)

Javascript 自动重命名变量(类似于MS windows在重复数据的末尾使用数字),javascript,Javascript,我需要你的帮助 如何重命名一个var并在其末尾添加一个数字,从2开始,然后是第四个 基本上,我在后端做一些DB工作,如果检测到重复记录(文件号),那么我将有一个脚本来重命名var: 因此,在这个场景中,检测到重复的文件号,因此javascript将重命名var(从2开始),然后重命名第四个和第四个 到目前为止非常简单,使用javascript在文件编号的末尾添加一个数字-2并计算新结果 var x = filenumber x = filenumber-2 (这就是超级代数发生的地方

我需要你的帮助

如何重命名一个var并在其末尾添加一个数字,从2开始,然后是第四个

基本上,我在后端做一些DB工作,如果检测到重复记录(文件号),那么我将有一个脚本来重命名var:

因此,在这个场景中,检测到重复的文件号,因此javascript将重命名var(从2开始),然后重命名第四个和第四个

到目前为止非常简单,使用javascript在文件编号的末尾添加一个数字-2并计算新结果

var x = filenumber

    x = filenumber-2
(这就是超级代数发生的地方,我如何完成它?)

示例:

if (dbresult already exists) { then rename var x to filenumber-2 }

If (x already equals filenumber-2) { then rename var x to filenumber-3 }

If (x already equals filenumber-3) { then rename var x to filenumber-4 }

If (x already equals filenumber-4) { then rename var x to filenumber-5 }

and so fourth...
使用一个。假设您的文件数据位于
fileData
中,其名称位于
originalFileName

// Your initial decrement
var decrement = -2;
// Create a tentative copy of the filename
var filename  = originalFileName

// If it exists in dbresult, execute the code below. Repeat until filename isn't there
while( filename in dbresult ){
    // Apply the decrement
    filename = originalFileName + decrement;
    // Reduce the decrement
    decrement--;
    // while loops can be infinite unless you give them an escape clause
    if( decrement < 1000 ){
        break;
    }
}

dbresult[ filename ] = file;
//您的初始减量
var减量=-2;
//创建文件名的暂定副本
var filename=原始文件名
//如果它存在于dbresult中,请执行下面的代码。重复,直到文件名不存在
while(dbresult中的文件名){
//应用减量
文件名=原始文件名+减量;
//减量
减量--;
//而循环可以是无限的,除非给它们一个转义子句
如果(减量<1000){
打破
}
}
dbresult[filename]=文件;

您是否考虑过使用阵列?您只是想创建一个唯一的字符串名吗?例如:File01,File02?类似于MS Windows使用的,因此如果要将相同的文件号复制到目录中,它会自动重命名为filenumber(1)等。您不能重命名变量。你可以用一个新的名字创建一个变量的副本,然后再也不用旧的变量了,但我认为这不是你想要达到的目的。这个问题有点模糊。如果您只想确保没有两个文件名是相同的(例如在Windows中),那么您需要检查变量的值是否已经存在,然后根据结果更改该变量的值。@Stieffers但结果的值必须是连续的。因此,我猜测某种函数需要解释,并在最后读取数字-2、-3、-4?您没有调用
test
函数,您没有定义
file
filename
,并且
dbresult
是一个字符串(我希望它是数据库表示对象,您在其中存储密钥)。