Skip to content

Instantly share code, notes, and snippets.

@TuHuynhVan
Last active November 14, 2022 19:39
Show Gist options
  • Save TuHuynhVan/b4166b70d0f8fa29c586cd8ccecbdef6 to your computer and use it in GitHub Desktop.
Save TuHuynhVan/b4166b70d0f8fa29c586cd8ccecbdef6 to your computer and use it in GitHub Desktop.
function createFolders(inputFolderNames) {
let folderMap = {}
let createdFolderNames = []
inputFolderNames.forEach(pFolderName => {
if(folderMap[pFolderName] !== undefined){
let folderTime = folderMap[pFolderName] + 1;
let toBeAddedFolderName = pFolderName + "(" + folderTime + ")"
while(folderMap[toBeAddedFolderName] !== undefined){
folderTime++
toBeAddedFolderName = pFolderName + "(" + folderTime + ")"
}
createdFolderNames.push(toBeAddedFolderName)
folderMap[toBeAddedFolderName] = 0
} else {
folderMap[pFolderName] = 0
createdFolderNames.push(pFolderName)
}
})
return createdFolderNames
}
let names = ["pes","fifa","gta","pes(2019)"]
console.log(createFolders(names)) // [ 'pes', 'fifa', 'gta', 'pes(2019)' ]
names = ["gta","gta(1)","gta","avalon", "gta"]
console.log(createFolders(names)) // [ 'gta', 'gta(1)', 'gta(2)', 'avalon', 'gta(3)' ]
names = ["onepiece","onepiece(1)","onepiece(2)","onepiece(3)","onepiece(10)","onepiece"]
console.log(createFolders(names)) // ['onepiece','onepiece(1)','onepiece(2)','onepiece(3)','onepiece(10)','onepiece(4)']
names= ["onepiece","onepiece(1)","onepiece(2)","onepiece(3)","onepiece(3)","onepiece"]
console.log(createFolders(names)) // ['onepiece','onepiece(1)','onepiece(2)','onepiece(3)','onepiece(3)(1)','onepiece(4)']
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment