2017-01-08 24 views
-3

Ich habe mich umgesehen und habe keine spezifische Antwort hier gefunden, aber wie würde ich auf ein Objekt innerhalb eines Objekts zugreifen und es aktualisieren?Aktualisieren des Wertes eines Objekts innerhalb eines Objekts in Javascript

In meinem Beispiel, wie würde ich BJ.o[0]["todo-items"].length auf die Position von '33' in der data Objekt.

BJ.o = o[0]["todo-items"].length; 

var data = { 
    datasets: [{ 
    data: [ 33, 9, 24, ], 
    backgroundColor: [ "#FF6384", "#4BC0C0", "#FFCE56", ], 
    label: 'My dataset' // for legend 
    }], 
    labels: [ "Overdue", "Today", "Upcoming", ] 
}; 
+0

'data.datasets [0] .data [0]' – dandavis

+0

Bitte stellen Sie sicher, dass Ihre Code-Snippets ohne Fehler ausgeführt werden können, und machen Sie Ihre Frage klarer. – meno

+0

@dandavis die Syntax für den Zugriff auf die verschachtelten Objekte war genau das, was ich brauchte. Kannst du das zur Antwort machen und ich werde es als richtig bezeichnen? –

Antwort

1

Um Ihre erste Frage, sollte dies Ihre Lösung sein:

data.datasets [0] .data [0] = 50;

oder

data.datasets [0] .backgroundColor [0] '# 000000';

Sie können fragen, warum ich auf einige Objekte mit [0] und anderen nur mit seinem Namen zugreifen? Das liegt daran, dass {data: ...} ein Objekt selbst ist, so dass Sie direkt darauf zugreifen können, aber wenn Sie [{data: ...}, {data2: ...}] haben, dann haben Sie ein Array Bevor Sie also auf Ihre Kinder zugreifen, müssen Sie sie einfach indizieren.

Hier ist ein jsfiddle für Sie: https://jsfiddle.net/zavpdLpo/

JS:

var data = { 
datasets: [{ 
    data: [ 
     33, 
     9, 
     24, 
      ], 
    backgroundColor: [ 
     "#FF6384", 
     "#4BC0C0", 
     "#FFCE56", 
      ], 
    label: 'My dataset' // for legend 
}], 
labels: [ 
    "Overdue", 
    "Today", 
    "Upcoming", 
    ] 
}; 

document.write(data.datasets[0].data[0]); // Prints 33 
data.datasets[0].data[0] = 50; 
document.write(data.datasets[0].data[0]); // Prints 50 

HTML:

<div id="test"></div> 

Hoffnung, das hilft.

0

var data = { 
 
    datasets: [{ 
 
     data: [ 
 
      33, 
 
      9, 
 
      24, 
 
], 
 
     backgroundColor: [ 
 
      "#FF6384", 
 
      "#4BC0C0", 
 
      "#FFCE56", 
 
], 
 
     label: 'My dataset' // for legend 
 
    }], 
 
    labels: [ 
 
     "Overdue", 
 
     "Today", 
 
     "Upcoming", 
 
] 
 
}; 
 
console.log(data.datasets[0].data[0]) 
 
// data.datasets[0].data[0] = whatever you want

1
data.datasets[0].data[0]=BJ.o; 

mit dem Zuweisungsoperator (=);

Verwandte Themen