Tengo esto en mi código:
let obj = {EdadBeneficiario1: '32', EdadBeneficiario2: '5'} var years = []; let i; for (i= obj;i<=obj;i++) { years.push({ edad_beneficiario : i }) }la salida es
[ edad_beneficiario:{EdadBeneficiario1:"32", EdadBeneficiario2:"5"} ]pero lo que quiero es esto
[ {edad_beneficiario:"32"}, {edad_beneficiario:"5"} ]¿que puedo hacer?
EDITAR
Por cierto, si hago esto
years.push({ edad_beneficiario :obj.EdadBeneficiario1}) years.push({ edad_beneficiario :obj.EdadBeneficiario2})el resultado es lo que quiero resolver, pero quiero que lo haga con un bucle for. Por favor ayuda.
El problema es que en el ciclo, estás configurando i = obj , luego i = {EdadBeneficiario1: '32', EdadBeneficiario2: '5'} . i ser un valor entero para trabajar con el bucle for en este caso. Puede usar el método Object.values para transformar los valores de obj en una matriz y obtener sus datos para usarlos en el ciclo for .
let obj = {EdadBeneficiario1: '32', EdadBeneficiario2: '5'} var years = []; let objValuesArray = Object.values(obj); for (let i = 0; i < objValuesArray.length; i++) { years.push({ edad_beneficiario : objValuesArray[i] }) }let obj = {EdadBeneficiario1: '32', EdadBeneficiario2: '5'} var years = []; Object.entries(obj).map(([key, value]) => { years.push( {edad_beneficiario: value} ) } ) console.log(years) /* Array [ {…}, {…} ] 0: Object { edad_beneficiario: "32" } 1: Object { edad_beneficiario: "5" } */¿Esto funciona para tí? Use Object.values() y Array.map() para obtener el resultado deseado.
let obj = { EdadBeneficiario1: '32', EdadBeneficiario2: '5' } const output = Object.values(obj).map(value => ({ edad_beneficiario: value })); console.log(output);