Open nimdanor opened 21 hours ago
Dans la création de tag nous allons avoir beaucoup de tags => il faut détecter si l'on ne fait pas un doublon.
Pour cela il faut une fonction de mesure de distance entre les mots en type script.
Un truc comme cela : function normalizeString(str: string): string { return str.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase(); }
function areStringsSimilar(str1: string, str2: string): boolean { const normalizedStr1 = normalizeString(str1); const normalizedStr2 = normalizeString(str2);
if (normalizedStr1 === normalizedStr2) { return true; } if (Math.abs(normalizedStr1.length - normalizedStr2.length) > 1) { return false; } let differences = 0; let i = 0, j = 0; while (i < normalizedStr1.length && j < normalizedStr2.length) { if (normalizedStr1[i] !== normalizedStr2[j]) { differences++; if (differences > 1) { return false; } if (normalizedStr1.length > normalizedStr2.length) { i++; } else if (normalizedStr1.length < normalizedStr2.length) { j++; } else { i++; j++; } } else { i++; j++; } } return differences + (normalizedStr1.length - i) + (normalizedStr2.length - j) <= 1;
}
Dans la création de tag nous allons avoir beaucoup de tags => il faut détecter si l'on ne fait pas un doublon.
Pour cela il faut une fonction de mesure de distance entre les mots en type script.
Un truc comme cela : function normalizeString(str: string): string { return str.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase(); }
function areStringsSimilar(str1: string, str2: string): boolean { const normalizedStr1 = normalizeString(str1); const normalizedStr2 = normalizeString(str2);
}