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

180
Visualizações
¿Por qué obtengo resultados diferentes al filtrar valores de fecha únicos?

Obtengo resultados diferentes al filtrar fechas únicas. Funciona correctamente en algunos casos e incorrecto en algunos, por ejemplo a continuación. No puedo averiguar cuál es el problema. El método de filtrado a continuación funciona bien en la mayoría de los casos pero falla en algunos. ..

Quiero obtener todas las fechas únicas de RatingsDaily["2"] y la matriz RatingsDaily["4"]

 // This is the data const RatingsDaily = { "2": [ {"2021-12-24": 3.21}, {"2021-12-25": 3.19}, {"2021-12-28": 3.29}, {"2021-12-29": 3.24}, {"2021-12-30": 3.38}, ], "4": [ {"2021-12-24": 1.0}, {"2021-12-25": 1.0}, {"2021-12-26": 1.0}, {"2022-01-27": 2.0}, {"2022-01-03": 5.0}, {"2022-01-05": 1.0}, ] } // This is the way I am doing let labels = [] let uniquelabel = [] for (let i = 0; i < RatingsDaily["2"].length; i++) { uniquelabel.push(Object.keys(RatingsDaily["2"][i])); } for (let i = 0; i < RatingsDaily["4"].length; i++) { uniquelabel.push(Object.keys(RatingsDaily["4"][i])); } const useFilter = arr => { return arr.filter((value, index, self) => { return self.indexOf(value) === index; }); }; const result = useFilter(uniquelabel); console.log(result)

Cualquier ayuda sería apreciada ... Gracias de antemano

about 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Una breve alternativa:

 const RatingsDaily = {"2": [{"2021-12-24": 3.21},{"2021-12-25": 3.19},{"2021-12-28": 3.29},{"2021-12-29": 3.24},{"2021-12-30": 3.38},], "4": [{"2021-12-24": 1.0},{"2021-12-25": 1.0},{"2021-12-26": 1.0},{"2022-01-27": 2.0},{"2022-01-03": 5.0},{"2022-01-05": 1.0}]} const result = [...new Set( // will make values unique Object.values(RatingsDaily).flat() // lists all entries .map(Object.keys).flat() // retains string dates only )] console.log(result);

about 4 years ago · Santiago Trujillo Relatório

0

Podría ser mejor usar un Conjunto ya que está diseñado para mantener solo valores únicos. Además, es posible que tenga más tipos de calificaciones, por lo que podría ser mejor no codificar explícitamente 2 y 4, sino considerar las claves presentes en el objeto RatingsDaily . Una forma de ejemplo de hacerlo es la siguiente:

 const RatingsDaily = {"2": [{"2021-12-24": 3.21},{"2021-12-25": 3.19},{"2021-12-28": 3.29},{"2021-12-29": 3.24},{"2021-12-30": 3.38},], "4": [{"2021-12-24": 1.0},{"2021-12-25": 1.0},{"2021-12-26": 1.0},{"2022-01-27": 2.0},{"2022-01-03": 5.0},{"2022-01-05": 1.0}]} const datesSet = new Set(); for (const rating of Object.keys(RatingsDaily)) { for (const dateObj of RatingsDaily[rating]) { datesSet.add(Object.keys(dateObj)[0]); } } const datesArr = Array.from(datesSet); console.log(datesArr);

about 4 years ago · Santiago Trujillo Relatório

0

La matriz uniquelabel es una matriz de sub-matrices de un elemento. No creo que esto sea lo que pretendías; probablemente quería una matriz de cadenas (fechas), no una matriz de matrices. Para arreglar eso solo cambia dos líneas y estarás bien.

Cambio:

 uniquelabel.push(Object.keys(RatingsDaily[n][i]));

A:

 uniquelabel.push(...Object.keys(RatingsDaily[n][i]));

En otras palabras, use el operador de propagación para poner una cadena y no una matriz en uniquelabel .

MANIFESTACIÓN

 // This is the data const RatingsDaily = { "2": [ {"2021-12-24": 3.21}, {"2021-12-25": 3.19}, {"2021-12-28": 3.29}, {"2021-12-29": 3.24}, {"2021-12-30": 3.38}, ], "4": [ {"2021-12-24": 1.0}, {"2021-12-25": 1.0}, {"2021-12-26": 1.0}, {"2022-01-27": 2.0}, {"2022-01-03": 5.0}, {"2022-01-05": 1.0}, ] }; // This is the way I am doing let labels = [] let uniquelabel = [] for (let i = 0; i < RatingsDaily["2"].length; i++) { uniquelabel.push(...Object.keys(RatingsDaily["2"][i])); } for (let i = 0; i < RatingsDaily["4"].length; i++) { uniquelabel.push(...Object.keys(RatingsDaily["4"][i])); } const useFilter = arr => { return arr.filter((value, index, self) => { return self.indexOf(value) === index; }); }; const result = useFilter(uniquelabel); console.log(result)

about 4 years ago · Santiago Trujillo 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