 Écrivez du code JavaScript pour résoudre ce casse-tête de programmation.
 Étant donné une chaîne, trouver la longueur de la sous-chaîne la plus longue sans répéter les caractères.\n\nExemple :\n\nEntrée : "abcabcbb"\nSortie : 3
function lengthOfLongestSubstring(str) { \n \n // initialise une variable chaîne et une variable tableau\n let currentString = " ", \n charIndexes = []; \n \n // itérer dans la chaîne\n for (let i = 0; i < str.length; i++) { \n \n // si le caractère est dans la carte, mettre à jour l'index vers le courant\n if (charIndexes.includes(str[i])) { \n charIndexes = charIndexes.slice(charIndexes.indexOf(str[i]) + 1); \n } \n \n // ajoute le caractère son index au tableau\n charIndexes.push(str[i]); \n \n // met à jour la chaîne actuelle\n currentString = (currentString.length < charIndexes.length) ? charIndexes.join("") : currentString; \n } \n \n // retourne la sortie\n return currentString.length; \n}