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

208
Visualizações
extract data with same value from a grouped array

How can I group items with same nick value belonging from the same date into a new array(by nick and date) . Am trying the below but it produces the same array am trying to get from.

I want to group data by same user from the same date

var games = {
  '2021-12-15': [{
    nick: "john",
    gameDate: "2015-12-15 12:00:00",
    gameName: "bla 1"
  }, {
    nick: "john",
    gameDate: "2015-12-15 12:40:00",
    gameName: "bla 2"
  }],
  '2021-12-16': [{
      nick: "nicky",
      gameDate: "2016-12-16 12:00:00",
      gameName: "bla 3"
    }, {
      nick: "mike",
      gameDate: "2016-12-16 12:00:00",
      gameName: "bla 3"
    },
    {
      nick: "mike",
      gameDate: "2016-12-16 12:00:00",
      gameName: "bla 3"
    }

  ]
}
var a = {};
for (let val in games) {
  console.log(val)
  for (var i = 0; i < games[val].length; i++) {
    var d = games[val][i].gameDate.split(' ')[0];
    if (!a[d]) a[d] = [];
    a[d].push(games[val][i])
  }
}
console.log(a)


Expected output

{
  '2021-12-15': [{
    nick: "john" {
      nick: "john",
      gameDate: "2016-12-15 12:00:00",
      gameName: "bla 3"
    },
    {
      nick: "john",
      gameDate: "2016-12-15 12:30:00",
      gameName: "bla 3"
    }
  }],
  '2021-12-16': [{
    nick: "mike" {
      nick: "mike",
      gameDate: "2016-12-16 12:00:00",
      gameName: "bla 3"
    },
    {
      nick: "mike",
      gameDate: "2016-12-16 12:15:00",
      gameName: "bla 3"
    }
  }]
}

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

0

Hard to tell without an exact output format but I think this is what you're after:

const games = {
  "2021-12-15": [
    {
      nick: "john",
      gameDate: "2015-12-15 12:00:00",
      gameName: "bla 1",
    },
    {
      nick: "john",
      gameDate: "2015-12-15 12:40:00",
      gameName: "bla 2",
    },
  ],
  "2021-12-16": [
    {
      nick: "nicky",
      gameDate: "2016-12-16 12:00:00",
      gameName: "bla 3",
    },
    {
      nick: "mike",
      gameDate: "2016-12-16 12:00:00",
      gameName: "bla 3",
    },
    {
      nick: "mike",
      gameDate: "2016-12-16 12:00:00",
      gameName: "bla 3",
    },
  ],
};

const result = Object.fromEntries(
  Object.entries(games).map(([key, value]) => [
    key,
    value.reduce(
      (acc, cur) => (acc[cur.nick] = [...(acc[cur.nick] || []), cur], acc),
      {}
    ),
  ])
);

console.log(result);

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