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

211
Visualizações
dividir objetos en matrices de objetos en JS

Hola, estoy atascado transformando este objeto en una matriz de objetos.

Están los campos de número y motivo, que actualmente son una cadena separada por ','. Deben explotarse en su propio objeto. El conjunto de datos de ejemplo y lo que quiero archivar se pueden ver en el fragmento de código a continuación.

 // start value const data = { date: "2021-09-07 10:28:34,2021-09-08 14:45:22", startDate: "2021-09-07 00:00:00,2021-09-08 14:45:22" id: "111111" number: "1,9" reason: "Autres,Autres" } // what I want to archive: const res = [{ date: "2021-09-07 10:28:34", startDate: "2021-09-07 00:00:00", id: 11111, number: 1, reason: "Autres" } { date: "2021-09-08 14:45:22", startDate: "2021-09-08 14:45:22", id: 11111, number: 9, reason: "Autres" }]

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

0

  1. Proyecte el objeto original con columnas combinadas de cadenas en un objeto con columnas divididas como matrices usando el método de reducción y el operador de extensión .

    1a. extraiga los nombres de las columnas del objeto original filtrando la columna de id .

    1b. En el proceso de proyección, cuente la cantidad de filas.

  2. Itere sobre filas usando el contador anterior, generando un nuevo objeto para cada fila, tomando el valor de columna relevante usando el índice de iteración actual.

     const original = { date: "2021-09-07 10:28:34,2021-09-08 14:45:22", startDate: "2021-09-07 00:00:00,2021-09-08 14:45:22", id: "111111", number: "1,9", reason: "Autres,Autres" }; function split(obj) { const columnNames = Object.keys(obj).filter(key => key !== "id"); const singleWithSplitted = columnNames.reduce((result, columnName) => { const splittedArray = obj[columnName].split(","); return ({ rowsCount: Math.max(result.rowsCount, splittedArray.length), table: { ...result.table, [columnName]: splittedArray } }); }, { rowsCount: 0 }); const arr = []; for (i = 0; i < singleWithSplitted.rowsCount; i++) { const result = { id: obj.id }; columnNames.forEach((columnName) => { result[columnName] = singleWithSplitted.table[columnName][i]; }); arr.push(result); }; return arr; } console.log(split(original));

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