mirror of
https://github.com/theoludwig/programming-challenges.git
synced 2024-12-08 00:45:29 +01:00
38 lines
827 B
JavaScript
38 lines
827 B
JavaScript
/**
|
|
* @param {string} string
|
|
*/
|
|
function solution (string) {
|
|
const lettersCount = {}
|
|
for (let index = 0; index < string.length; index++) {
|
|
const character = string[index]
|
|
if (lettersCount[character] == null) {
|
|
lettersCount[character] = {
|
|
total: 1,
|
|
firstIndex: index,
|
|
value: character
|
|
}
|
|
} else {
|
|
lettersCount[character].total += 1
|
|
}
|
|
}
|
|
|
|
let result = null
|
|
for (const character in lettersCount) {
|
|
const characterObject = lettersCount[character]
|
|
if (characterObject.total === 1) {
|
|
if (result == null) {
|
|
result = characterObject
|
|
} else if (characterObject.firstIndex < result.firstIndex) {
|
|
result = characterObject
|
|
}
|
|
}
|
|
}
|
|
|
|
if (result == null) {
|
|
return ''
|
|
}
|
|
return result.value
|
|
}
|
|
|
|
module.exports = solution
|