• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

181
Views
Asignar un valor de propiedad de objeto como otra propiedad de objeto

Tengo el siguiente código JavaScript

 const data = { columnFields: { columnField1: 'FieldValue1', columnField2: 'FieldValue2', columnField3: 'FieldValue3', }, dataSets: [ { columnProp1: 'value1', columnProp2: 'value2', columnProp3: 'value3', }, { columnProp1: 'value11', columnProp2: 'value22', columnProp3: 'value33', }, ], };

Me gustaría ver el resultado de estos datos:

 const expectedOutput = [ { FieldValue1: 'value1', FieldValue2: 'value2', FieldValue3: 'value3', }, { FieldValue1: 'value11', FieldValue2: 'value22', FieldValue3: 'value33', }, ];

He intentado la siguiente solución siguiente

 function processData() { const processDataSet = []; const obj = {}; data.dataSets.forEach((item) => { for (const key in item) { const element = item[key]; for (const prop in data.columnFields) { obj[data.columnFields[props]] = element; } } processDataSet.push(obj); }); return processDataSet; }

Esto me está dando la salida que no es lo que estoy buscando

 const output = [ { FieldValue1: 'value33', FieldValue2: 'value33', FieldValue3: 'value33', }, { FieldValue1: 'value33', FieldValue2: 'value33', FieldValue3: 'value33', }, ];

Es como se esperaba porque cada vez anula el valor y termina con el último valor. Ayúdenme con la dirección del código mediante el cual puedo asignar simultáneamente el valor individual en el bucle.

about 3 years ago · Santiago Gelvez
1 answers
Answer question

0

  • Usando Object#values en columnFields , puede obtener la lista de claves que se usarán en la matriz de objetos resultante
  • Usando Array#map , dataSets sobre conjuntos de datos
  • En cada iteración, use Object#values para obtener la lista de valores del objeto actual. Usando Array#reduce , itere sobre este último para crear un objeto con las claves calculadas al principio y los valores actuales

 const data = { columnFields: { columnField1: 'FieldValue1', columnField2: 'FieldValue2', columnField3: 'FieldValue3' }, dataSets: [ { columnProp1: 'value1', columnProp2: 'value2', columnProp3: 'value3' }, { columnProp1: 'value11', columnProp2: 'value22', columnProp3: 'value33' } ] }; const { columnFields, dataSets } = data; const keys = Object.values(columnFields); const res = dataSets.map(e => Object.values(e).reduce((acc, value, index) => ({ ...acc, [keys[index]]: value }), {}) ); console.log(res);

about 3 years ago · Santiago Gelvez Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error