Javascript 对象文字-添加项

Javascript 对象文字-添加项,javascript,Javascript,我的代码中有:- var chartOptions = { series: { bars: { show: true } } }; 是否有一种方法可以通过代码将另一项添加到chartOptions对象中,从而将其添加到series部件中,如下所示:- series: { bars: {show: true, fillColor="Red"} } 我该怎么做呢?我期待着这样的事情:- chartOptions["se

我的代码中有:-

var chartOptions = {
      series: {
               bars: { show: true }
              }
};
是否有一种方法可以通过代码将另一项添加到chartOptions对象中,从而将其添加到series部件中,如下所示:-

series: {
    bars: {show: true, fillColor="Red"}
}
我该怎么做呢?我期待着这样的事情:-

chartOptions["series"]["bars"]["fillColor"] = "Red"
但这不起作用。我对这方面还不太熟悉,所以非常感谢您的帮助


Matt

您可以使用
而不是
=

series: {
    bars: {show: true, fillColor: "Red"}
}
或者,您可以使用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);

看看这个JSFIDLE:


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

chartOptions[“series”][“bars”][“fillColor”]=“Red”
应该可以工作,以
chartOptions.series.bars.fillColor=“Red”的形式编写和阅读更方便尽管如此。为什么你认为你的尝试没有成功?当然应该。你想模仿吗?我认为打字错误不是在实际的代码中,而是在他试图显示他想要的结果对象的样子的地方。
chartOptions[“series”][“bars”][“fillColor”]=“Red”工作,你想告诉他什么,使用jquery?我没有告诉他做任何事情,我提供了选项:1)内联。2) jQuery.extend。3) 方括号表示法(他自己的解决方案)或点表示法。