Situación actual :
[{ "Severity":1, "Name":"Yash" }, { "Severity":2, "Name":"Yashaswi" }]
Situación deseada :
[{1: "Yash"}, {2: "Yashaswi"}]
Código que se utiliza :
widTags = ["Severity","Name"]; let tempobj = {}; for(let key in widTags) { tempobj[key]=prop; } dataArrayWid.push(tempobj)
Esta solución hace lo que sugiere sin cambiar demasiado la sintaxis de su código original:
const original = [ {"Severity":1, "Name":"Yash"}, {"Severity":2, "Name":"Yashaswi"} ]; const final = []; for (const oldObj of original){ // (Prefer `for...of` to iterate Arrays) const newObj = {}, key = oldObj["Severity"], val = oldObj["Name"]; newObj[key] = val; // Uses Severity val as prop name & Name val as prop val final.push(newObj); } console.log(final);
Y esta es una versión más concisa:
const original = [ {"Severity":1, "Name":"Yash"}, {"Severity":2, "Name":"Yashaswi"} ], final = original.map(obj => ( { [obj.Severity]: obj.Name } )); console.log(final);
(Aquí, el método .map de Arrays crea un nuevo Array con cada elemento modificado por una función; en este caso, una función Arrow ).
Nota:
Puede lograrlo usando el método Array.map() .
demostración:
const dataArrayWid = [{ "Severity":1, "Name":"Yash" }, { "Severity":2, "Name":"Yashaswi" }]; const result = dataArrayWid.map((obj) => { return { [obj.Severity]: obj.Name } }); console.log(result);