2016-12-28 4 views
1

Ich habe ein Json-Objekt aus einem Backend-Server Data wie folgt aufgerufen kommen:Wie Sie eine Spalte zu Elementen in einem Array hinzufügen?

[{ 
    "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" 
}] 

und ich möchte hinzufügen, um eine Spalte (Eigenschaft?) Zu jeder Zeile wie folgt aus:

[{ 
    "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": "" 
}] 

Does Wie kann ich das machen?

Vielen Dank im Voraus.

+0

Sie Kartenfunktion Javascript hinzufügen, um die neue Eigenschaft zu jedem Objekt nutzen könnten. aber warum würdest du es machen, wenn es sowieso eine leere Schnur ist? – toskv

+5

Warum gibt es plötzlich eine "3"? – Chybie

+0

Es wird natürlich nicht leer bleiben. –

Antwort

4

Try this:

data.forEach(function(e){ 
    if (typeof e === "object"){ 
    e["new column"] = "" 
    } 
}); 

Bedürfnisse, die typeof Prüfung wegen dieser seltsamen 3 in der Mitte.

4

Sie können dies tun:

const arr = data.map(x => Object.assign({}, data, { "new column": "" })) 
+0

Dies muss immer noch mit dieser seltsamen "3" umgehen. Aber +1, um die Originaldaten nicht zu mutieren und das entsprechende Verb 'map' zu verwenden. –

+0

Entschuldigung wegen der "3". Es ist ein Ergebnis von einigen Tests ... –

+0

Okay. Nr. 3 ist gut! – Chybie

Verwandte Themen