在javascript中更新对象内对象的值

时间:2017-01-08 14:26:29

标签: javascript jquery

我环顾四周,并没有在这里找到具体的答案,但我如何访问和更新对象内的对象?

在我的例子中,我将BJ.o[0]["todo-items"].length如何处理! 33'在data对象中。

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", ]
};

3 个答案:

答案 0 :(得分:1)

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

使用赋值运算符(=);

答案 1 :(得分:1)

对于您的第一个问题,这应该是您的解决方案:

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

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

您可能会问我为什么要使用[0]访问某些对象而使用其名称来访问其他对象? 这是因为{data:...}是一个对象本身,所以你可以直接访问它,但是如果你有[{data:...},{data2:...}]那么你有一个数组所以在访问其子代之前,您只需将它们编入索引即可。

这里有一个jsfiddle: 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>

希望这有帮助。

答案 2 :(得分:0)

&#13;
&#13;
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
&#13;
&#13;
&#13;