LongestSubString Wrong

Run Settings
LanguageJavaScript
Language Version
Run Command
var longSubString = function(str) { hash = []; strArray = []; let i = 0; for (let char of str) { //console.log(char); if (strArray.includes(char)) { hash.push(strArray.length + 1); let tmpArray = []; //console.log("Char: " + char + " in string.") for (let j = strArray.length-1; j >= 0; j--) { if (char === strArray[j]) { //console.log("Char: " + j + " matches") //console.log("StrArray Length: " + strArray.length); strArray = tmpArray; break; } else { tmpArray.push(strArray[j]); } } } strArray.push(char); i++; } let maxValue = Math.max(...hash); let returnValue = strArray.length > maxValue ? strArray.length : maxValue; return returnValue; } console.log(longSubString('abccabd')); //4 console.log(longSubString('abccabb')); //3 console.log(longSubString('abcbbd')); //3 console.log(longSubString('cccccc')); //1 console.log(longSubString('abcbda')); //4 console.log(longSubString('')); //0 console.log(longSubString('a')); //4 console.log(longSubString("bpfbhmipx")); //7
Editor Settings
Theme
Key bindings
Full width
Lines