Skip to content

Instantly share code, notes, and snippets.

@Gerst20051
Created October 15, 2020 21:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Gerst20051/09c408f8a1bf53f158dc80bff30bd08f to your computer and use it in GitHub Desktop.
Save Gerst20051/09c408f8a1bf53f158dc80bff30bd08f to your computer and use it in GitHub Desktop.
Find First Unique Character In String
function findUniqueCharacter(string) {
const characterMap = buildCharacterMap(string);
return findFirstUniqueCharacterInMap(characterMap);
}
function buildCharacterMap(string) {
return string.split('').reduce((map, character) => {
if (!map[character]) {
map[character] = 1;
} else {
map[character]++;
}
return map;
}, {});
}
function findFirstUniqueCharacterInMap(characterMap) {
const characters = Object.keys(characterMap);
for (let i = 0; i < characters.length; i++) {
if (characterMap[characters[i]] === 1) {
return characters[i];
}
}
return '_';
}
const firstUniqueCharacter = findUniqueCharacter('stringgoeshere');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment