Estoy tratando de usar el contenido de una variable como el nombre de una propiedad de objeto que otra función tiene que guardar, pero no sé cómo implementarlo.
function saveData(val) { console.log(val); //Here I need to receive the Object in the format of {key Name: value}, but I am getting the name key, as it is not being interpreted. } const arr = [ { name: "John", lastname: "Doe" }, { name: "John2", lastname: "Doe2" } ]; for (const [key, value] of Object.entries(arr)) { saveData({ key: value }); } No puedo modificar saveData , entonces, ¿cómo puedo enviar {key: value} de manera que se interprete la clave y se envíe su contenido?
Aquí puede encontrar el ejemplo de CodeSandBox
Puede usar los nombres de propiedad calculados de ES6:
for (const [key, value] of Object.entries(arr)) { // You can use any expression inside [] saveData({ [key]: value }); }Puede usar la notación inicializadora para esto. Le permite crear "propiedades calculadas".
La sintaxis es {[variable]: value} , por lo que su llamada saveData se convertiría en saveData({ [key]: value }); .