Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

200
Visualizações
Incrementing values in a JavaScript object in a for loop

A particular problem asked to return the first unique value (i.e. a value that appears only once in an array). My approach was to create an obj with keys as elements in the array and the values as a counter for how many times each value was seen.

function solution(arr) {
  let uniqueObj = {}
  for (let i=0; i<arr.length; i++){
    if(uniqueObj[arr[i]] !== undefined){
      uniqueObj[arr[i]] = uniqueObj[arr[i]] + 1
    }
    uniqueObj[arr[i]] = 1
  }
  console.log(uniqueObj) 
}
solution([4,10,5,4,2,10])

//output { '2': 1, '4': 1, '5': 1, '10': 1 }

why isn't the value incrementing each time the same key is seen?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

After your if statement you're resetting uniqueObj[arr[i]] back to 1. You need add an else clause for when uniqueObj doesn't have the value at arr[i]:


if (uniqueObj[arr[i]] !== undefined) {
    uniqueObj[arr[i]] += 1;
} else { // add else block
    uniqueObj[arr[i]] = 1      
}

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda