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

178
Visualizações
convertir matriz en nombre de objeto y valores

Estoy tratando de colocar mis valores de _rows en el valor de mi objeto, sin embargo, he intentado ejecutar un ciclo pero no pude obtener los datos, el script que utilicé es

 let _columns = ["Name", "age", "phone"] let _rows = [[{ value: 'john' }, { value: '22' }, { value: '999' }], [{ value: 'Bob' }, { value: '21' }, { value: '222' }]] let res = {} for (let i = 0; i < _rows.length; i++) { for (let a = 0; a < _columns.length; a++) { console.log(_rows[i][a].value) } res = _columns.reduce((acc,curr)=> (acc[curr]="data",acc),{}); console.log(res) res = {} }

en mi console.log, imprime

ingrese la descripción de la imagen aquí

La salida objetivo debe ser

 {Name: 'john', age: '22', phone: '999'} {Name: 'bob', age: '21', phone: '222'}
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

puedes usar

  • array.map para construir otra matriz a partir de _rows

  • valor foreach tienes que comprobar si existen columnas

     if (_columns[index]) {
  • en caso afirmativo, agregue en el nuevo objeto el valor debajo del nombre de la columna

     res[_columns[index]] = property.value; 

 let _columns = ["Name", "age", "phone"] let _rows = [[{ value: 'john' }, { value: '22' }, { value: '999' }], [{ value: 'Bob' }, { value: '21' }, { value: '222' }]]; let result = _rows.map(one => { let res = {}; one.forEach((property, index) => { if (_columns[index]) { res[_columns[index]] = property.value; } }); return res; }); console.log(result);

about 4 years ago · Juan Pablo Isaza Relatório

0

Si quiere seguir con reduce , solo haga este pequeño cambio para obtener el valor real en lugar de la cadena de código duro "datos". Debe usar el parámetro opcional currentIndex de la devolución de llamada reducida, luego use el índice para acceder al elemento de la fila para el valor.

 let _columns = ["Name", "age", "phone"] let _rows = [[{ value: 'john' }, { value: '22' }, { value: '999' }], [{ value: 'Bob' }, { value: '21' }, { value: '222' }]] let res = {} for (let i = 0; i < _rows.length; i++) { for (let a = 0; a < _columns.length; a++) { console.log(_rows[i][a].value) } res = _columns.reduce((acc,curr,index)=> (acc[curr]=_rows[i][index].value,acc),{}); console.log(res) res = {} }

Sin embargo, cuando se trata de filas y columnas en su caso, dado que el índice de la matriz es importante, usar el bucle for anidado de la vieja escuela puede ser mucho más claro a veces. Mi experiencia es que, cuando necesite el índice de matriz de todos modos, intente no ser elegante y opte por un bucle for regular.

 let _columns = ["Name", "age", "phone"] let _rows = [[{ value: 'john' }, { value: '22' }, { value: '999' }], [{ value: 'Bob' }, { value: '21' }, { value: '222' }]] for(let i = 0; i < _rows.length; i++) { let res = {}; for(let j = 0; j < _columns.length; j++) { res[_columns[j]] = _rows[i][j].value } console.log(res); }

about 4 years ago · Juan Pablo Isaza Relatório

0

Un doble Arry.map hará el truco

 let _columns = ["Name", "age", "phone"] let _rows = [ [{ value: 'john' }, { value: '22' }, { value: '999' }], [{ value: 'Bob' }, { value: '21' }, { value: '222' }] ]; const output = _rows.map((row) => row.map((item, index) => ({ [_columns[index]]: item.value }))); console.log(output)

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