给定一个字符串，找到最长的没有重复字符的子字符串的长度。

例子：

输入："abcabcbb"
输出：3
编写 JavaScript 代码来解决这个编程难题。
function lengthOfLongestSubstring(str) { 
  
    // 初始化一个字符串变量和一个数组变量
    let currentString = " ", 
        charIndexes = []; 
  
    // 遍历字符串
    for (let i = 0; i < str.length; i++) { 
  
        // 如果字符在数组中，则更新索引为当前值
        if (charIndexes.includes(str[i])) { 
            charIndexes = charIndexes.slice(charIndexes.indexOf(str[i]) + 1); 
        } 
  
        // 将字符及其索引添加到数组中
        charIndexes.push(str[i]); 
  
        // 更新当前字符串
        currentString = (currentString.length < charIndexes.length) ? charIndexes.join("") : currentString; 
    } 
  
    // 返回输出结果
    return currentString.length; 
}