Hola a todos,
entonces estoy luchando con el siguiente problema: tengo un objeto con algunas claves y valores. Me gustaría sacarlos y hacer una nueva matriz de objetos. Aquí está el código, ya que describe mejor mi problema.
const sourceObj = { test1: "a", test2: "b", test3: "c", test4: "d", test5: "e" }; const myTable = []; for (let value of sourceObj) { for (let i = 1; i < 6; i++) { const targetObject = { foo: "foo", year: value.test + i, bar: "bar" }; myTable.push(targetObject); } } console.log(myTable); // expected output // [ // { // foo: "foo", // year: "a", // bar: "bar" // }, // { // foo: "foo", // year: "b", // bar: "bar" // }, // ... // { // foo: "foo", // year: "e", // bar: "bar" // }, // ]puede iterar en las claves de objeto y usar el método array.map para obtener el objeto esperado
const sourceObj = { test1: "a", test2: "b", test3: "c", test4: "d", test5: "e" }; const myTable = Object.keys(sourceObj).map((key) => { return { foo: "foo", year: sourceObj[key], bar: "bar" }; }); console.log(myTable);Simplemente puede usar Object.values y mapear sobre él
const sourceObj = { test1: "a", test2: "b", test3: "c", test4: "d", test5: "e" }; const myTable = Object.values(sourceObj).map(year => ({ foo: "foo", year, bar: "bar" })) console.log(myTable);const sourceObj = { test1: "a", test2: "b", test3: "c", test4: "d", test5: "e" }; const myTable = []; for(item in sourceObj){ myTable.push( { foo : "foo", year : sourceObj[item], bar : "bar" } ); } console.log(myTable);