Ich versuche, an einige JSON-Objekte keine neuen Eigenschaften anzuhängen. Wie kann ich das machen?Wie fügt man einem JSON-Array eine neue Eigenschaft hinzu?
Zum Beispiel, das ist mein JSON-Array:
var eventsArray;
eventsArray = [
{
"title" : "Marco 1",
"user": "Marco",
"start" : "2016-01-12T16:00:00-05:00",
"end" : "2016-01-12T17:00:00-05:00"
}, {
"title" : "Marco 2",
"user": "Marco",
"start" : "2016-01-12T10:00:00-05:00",
"end" : "2016-01-12T12:00:00-05:00"
}, {
"title" : "Marta 1",
"user": "Marta",
"start" : "2016-01-12T09:00:00-05:00",
"end" : "2016-01-12T10:00:00-05:00"
}, {
"title" : "Marta 2",
"user": "Marta",
"start" : "2016-01-13T09:00:00-05:00",
"end" : "2016-01-13T10:00:00-05:00"
}, {
"title" : "Veronica 1",
"user": "Veronica",
"start" : "2016-01-12T13:00:00-05:00",
"end" : "2016-01-12T14:00:00-05:00"
}, {
"title" : "Veronica 2",
"user": "Marco",
"start" : "2016-01-11T13:00:00-05:00",
"end" : "2016-01-11T14:00:00-05:00"
}
];
Und dann brauche ich eine neue Eigenschaft, wie zum Beispiel "Farbe" hinzufügen: der Benutzer Veronica, das heißt "rot":
var eventsArray;
eventsArray = [
{
"title" : "Marco event 1",
"user": "Marco",
"start" : "2016-01-12T16:00:00-05:00",
"end" : "2016-01-12T17:00:00-05:00"
}, {
"title" : "Marco event 2",
"user": "Marco",
"start" : "2016-01-12T10:00:00-05:00",
"end" : "2016-01-12T12:00:00-05:00"
}, {
"title" : "Marta event 1",
"user": "Marta",
"start" : "2016-01-12T09:00:00-05:00",
"end" : "2016-01-12T10:00:00-05:00"
}, {
"title" : "Marta event 2",
"user": "Marta",
"start" : "2016-01-13T09:00:00-05:00",
"end" : "2016-01-13T10:00:00-05:00"
}, {
"title" : "Veronica event 1",
"user": "Veronica",
"start" : "2016-01-12T13:00:00-05:00",
"end" : "2016-01-12T14:00:00-05:00",
"color" : "red"
}, {
"title" : "Veronica event 2",
"user": "Veronica",
"start" : "2016-01-11T13:00:00-05:00",
"end" : "2016-01-11T14:00:00-05:00",
"color" : "red"
}
];
Hier oben habe ich nur (manuell) die "Farbe": "rot" nur auf die Objekte mit "Benutzer" === "Veronica" (die letzten beiden) hinzugefügt. Wie kann ich das über JavaScript machen?
habe ich versucht, einige Möglichkeiten, ohne Erfolg, wie zum Beispiel:
eventsArray[4].color = "red";
eventsArray[5].color = "red";
oder:
eventsArray.user["Veronica"].color = "red";
eventsArray.user["Veronica"].color = "red";
ist von ein paar Tagen habe ich JSON verwenden lerne.
Bitte beachten Sie, dass es in diesem speziellen Fall keine Probleme mit Objekten mit unterschiedlichen Eigenschaften gibt: Mein Programm wird nicht explodieren! : P
Vielen Dank.
Es funktioniert https://jsbin.com/mosuyomuvi/edit?html,js,console – Grievoushead
einfach, versuchen Sie diese 'eventsArray.forEach (function (item) {if (item.title.indexOf ('Veronica ')> -1) item.color =' red ';}) ' – kriznaraj
Dies ist kein * JSON *. Es ist ein Javascript-Array mit Objekten darin. JSON ist ein eng verwandtes Serialisierungsformat. – deceze