对象文字-添加项目



我的代码中有这个:-

var chartOptions = {
series: {
bars: { show: true }
}
};

有没有一种方法可以通过代码将另一个项目添加到chartOptions对象中,从而将其添加到系列部分中,如下所示:-

series: {
bars: {show: true, fillColor="Red"}
}

我该怎么做?我期待着这样的东西:-

chartOptions["series"]["bars"]["fillColor"] = "Red"

但这行不通。我对这方面还很陌生,所以如果有任何帮助,我们将不胜感激。

马特

您可以使用:而不是=内联添加它

series: {
bars: {show: true, fillColor: "Red"}
}

或者您可以使用jQuery.extend()或JavaScript:将其添加到代码中

chartOptions.series.bars.fillColor = "Red";

您的代码chartOptions["series"]["bars"]["fillColor"] = "Red"也应该工作,但它是处理数组时的表示法。点表示法通常用于处理对象。不过,这两种符号大多可以互换。

function extend(destination, source) {
for (var property in source) {
destination[property] = source[property];
}
return destination;
}
var chartOptions = {
series: {
bars: {
show: true
}
}
};
Object.extend(chartOptions.series.bars, {
fillColor: "Red"
});
console.log(chartOptions);

看看这个jsfiddle:http://jsfiddle.net/5KMfy/4/

我写了两个工作示例,有jQuery和没有jQuery,希望这能有所帮助。

最新更新