javascript - ¿Cómo agregar una columna a los elementos de un arreglo?
Tengo un objeto Json que viene de un servidor backend llamado Data así:
[{
"categoryName": "Google",
"id": "58591d2b7672d99910497bec",
"clientId": "585808f6737f6aad1985eab2"
}, {
"categoryName": "Microsoft",
"id": "58591d3d7672d99910497bee",
"clientId": "585808f6737f6aad1985eab2"
}, "3", {
"categoryName": "Yahoo",
"id": "58591d4c7672d99910497bef",
"clientId": "585808f6737f6aad1985eab2"
}, {
"categoryName": "Msn",
"id": "585d25f6ae4b2ecb056bc514",
"clientId": "585808f6737f6aad1985eab2"
}]
y me gustaría agregar una columna (¿propiedad?) a cada fila así:
[{
"categoryName": "Google",
"id": "58591d2b7672d99910497bec",
"clientId": "585808f6737f6aad1985eab2",
"new column": ""
}, {
"categoryName": "Microsoft",
"id": "58591d3d7672d99910497bee",
"clientId": "585808f6737f6aad1985eab2",
"new column": ""
}, "3", {
"categoryName": "Yahoo",
"id": "58591d4c7672d99910497bef",
"clientId": "585808f6737f6aad1985eab2",
"new column": ""
}, {
"categoryName": "Msn",
"id": "585d25f6ae4b2ecb056bc514",
"clientId": "585808f6737f6aad1985eab2",
"new column": ""
}]
¿Alguien sabe cómo puedo hacer esto?
Gracias de antemano.
Respuesta #1
Prueba esto:
data.forEach(function(e){
if (typeof e === "object" ){
e["new column"] = ""
}
});
Necesita esa comprobación de typeof debido a ese extraño 3 en el medio.
Respuesta #2
Puedes hacer esto:
const arr = data.map(x => Object.assign({}, data, { "new column": "" }))
