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"))