提问人:nightrain90 提问时间:3/11/2023 最后编辑:nightrain90 更新时间:3/11/2023 访问量:24
如何根据现有文件名在 javascript 中递增文件名
How to increment a filename in javascript based on existing filenames
问:
我正在创建一个 javascript 程序,它允许将图像上传到拖放区域,不允许重复的文件名。如果我已经上传了以下文件名(在这种情况下,为了方便起见,只会使用字符串):
[“图像1.png”,“图像2.png”,“图像3.png”,“图像.png”]
我想上传另一张名为“image.png”的图像,我如何连续循环上一个数组,比较新值,同时根据是否找到该值递增文件名。
预期结果是新图像将是“image4.png”。
我意识到这可能需要 for 和 while 循环的某种组合,但我无法弄清楚实现这一点所需的确切条件。
任何帮助将不胜感激。
谢谢。
答:
0赞
Unmitigated
3/11/2023
#1
一种方法是当数组中存在名称和数字的组合时,将计数不断递增 1(选中 )。Array#includes
let names = ["image1.png","image2.png","image3.png","image.png"];
let newName = "image.png";
let [, name, ext] = newName.match(/^(\w+)(\.\w+)$/);
let count = 0;
while (names.includes(name + (count ? count : "") + ext)) {
++count;
}
console.log('final name:', name + (count ? count : "") + ext);
上一个:你能对数组的一部分进行排序吗?
评论