JSFiddle - React, Tailwind, and code Playground
by Sébastien Lorentz
JavaScript
const recipesList = [
"Recipe",
"Recipe1",
"Recipe 1",
"Recipe 2",
"Recipe 3",
]
function getNewName(name) {
const result = /^(.*?) ?(\d+)?$/.exec(name);
const originalName = result[1];
let nameNumber = Number(result[2]) || 1;
let newName = name;
debugger;
// eslint-disable-next-line no-loop-func
while (recipesList.some((recipe) => recipe === newName)) {
newName = `${originalName} ${nameNumber++}`;
}
return newName;
}
console.log(getNewName("Recifpe 2"))