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

148
Visualizações
D3: solo los datos ordenados se registran en la consola (no se pueden registrar datos sin procesar inmediatamente después de la ingesta)

Tengo un archivo csv llamado text.csv que contiene lo siguiente:

 shape,color,distance
circle,blue,4
square,red,2
circle,blue,7
circle,green,9
triangle,blue,1
square,green,3
octagon,blue,4

Quiero hacer lo siguiente:

  1. carga estos datos
  2. registrar los datos cargados en la consola
  3. ordenar los datos cargados por distance
  4. registrar los datos ordenados

Aquí está mi código:

 <script src="https://d3js.org/d3.v7.min.js"></script>

d3.csv('test.csv', d3.autoType).then(function(data) {
 // INSPECTS THE RAW DATA
 console.log(data);

 // SORTS BY DISTANCE
 let sortedData = data.sort(function (a, b) {
 return d3.descending(a.distance, b.distance);
 })
 // LOGS SORTED DATA
 console.log(sortedData);
})

En la consola, veo que sortedData se registra dos veces .

La variable data (es decir, los datos sin clasificar sin procesar) no se está registrando.

¿Por qué está pasando esto?

¡Gracias!

almost 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Array.prototype.sort ordena la matriz en su lugar . Además, su sortedData simplemente apunta a data .

Por lo tanto, si desea conservar dos matrices (la original y la ordenada), debe duplicarlas, por ejemplo structuredClone utilizandostructuredClone:

 const csv = `shape,color,distance
circle,blue,4
square,red,2
circle,blue,7
circle,green,9
triangle,blue,1
square,green,3
octagon,blue,4`;

const data = d3.csvParse(csv, d3.autoType);
console.log(data);

// SORTS BY DISTANCE
let sortedData = structuredClone(data).sort(function(a, b) {
 return d3.descending(a.distance, b.distance);
})
// LOGS SORTED DATA
console.log(sortedData);
 <script src="https://d3js.org/d3.v7.min.js"></script>

almost 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