JSFiddle - React, Tailwind, and code Playground

by Nidhi Patel

JavaScript

/* var firstUniqChar = function(s) {

    let mapOfChar = new Map()

    for( let i in s) {

        if(mapOfChar.get[s[i]]) {

            mapOfChar.set(s[i], mapOfChar.get[s[i]] + 1)

        } else {

            mapOfChar.set(s[i] , 1);

        }

        console.log(`${s[i]}`)

        console.log(mapOfChar.get(s[i]))

    }

    for(let j in s) {

        if(mapOfChar.get[s[j]] === 1) {

            return j

        }

    }

    return -1;

}; */

var firstUniqChar = function(s) {
    if (!s || !s.length) return -1;
    const cache = new Map();
    
    for (char of s) {
        cache.set(char, cache.get(char) + 1 || 1);
        console.log(cache)
    }
    
    for (let i = 0; i < s.length; i++) {
        if (cache.get(s[i]) === 1) return i;
    }
    return -1;
};
console.log(firstUniqChar('leetcode'))