JSFiddle - React, Tailwind, and code Playground

JavaScript

function firstNonRepeatedCharacter(string) {
       var counts = {};
       var i, minCode = 999999, maxCode = -1;
       for (i = 0; i < string.length; ++i) {
            var letter = string.charAt(i);
            var letterCode = string.charCodeAt(i);
           if (letterCode < minCode) {
               minCode = letterCode;
           }
           if (letterCode > maxCode) {
               maxCode = letterCode;
           }
            var count = counts[letterCode];
            if (count) {
               count.count = count.count + 1;
            }
            else {
                counts[letterCode] = { letter: letter, count: 1, index: i };
            }
       }

        var smallestIndex = string.length;
        for (i = minCode; i <= maxCode; ++i) {
           var count = counts[i];
           if (count && count.count === 1 && count.index < smallestIndex) {
              smallestIndex = count.index;
           }
       }
        
        return smallestIndex < string.length ? string.charAt(smallestIndex) : '';
    }

alert(firstNonRepeatedCharacter('aba'));
alert(firstNonRepeatedCharacter('ababcd'));
alert(firstNonRepeatedCharacter('acbcabd'));