如何使用javascript更改嵌套对象中的值

如何使用javascript更改嵌套对象中的值,javascript,jquery,Javascript,Jquery,如何更改动态嵌套javascript对象中属性的值 范例 对象: “图表”:{ “高度”:400, “宽度”:600, “边距”:{“顶部”:0,“右侧”:0,“底部”:0,“左侧”:0}, “padding”:{“top”:0,“right”:0,“bottom”:0,“left”:0}, “网格”:{ “xEnabled”:“是”, “是的”:“是的”, “颜色”:“ddd” } }, 如何使用javascript将padding.top从0更改为20 任何代码都会有帮助 var what

如何更改动态嵌套javascript对象中属性的值

范例

对象:
“图表”:{
“高度”:400,
“宽度”:600,
“边距”:{“顶部”:0,“右侧”:0,“底部”:0,“左侧”:0},
“padding”:{“top”:0,“right”:0,“bottom”:0,“left”:0}, “网格”:{ “xEnabled”:“是”, “是的”:“是的”, “颜色”:“ddd” } },

如何使用javascript将padding.top从0更改为20

任何代码都会有帮助

var whatKey = 'top';
var whatValue = 20;

var myObject = {"chart": {
            "height": 400,
            "width": 600,
            "margin":{"top": 0, "right": 0, "bottom": 0, "left": 0},

            "padding":{"top": 0, "right": 0, "bottom": 0, "left": 0},
            "grid" : {
                "xEnabled":"yes",
                "yEnabled":"yes",
                "color": "#ddd"
            }
    }
};
myObject.chart.padding[whatKey] = whatValue;
alert(JSON.stringify(myObject));

请参阅:

您可以按如下方式更改它:

var c = {
        "chart": {
            "height": 400,
            "width": 600,
            "margin": { "top": 0, "right": 0, "bottom": 0, "left": 0 },

            "padding": { "top": 0, "right": 0, "bottom": 0, "left": 0 },
            "grid": {
                "xEnabled": "yes",
                "yEnabled": "yes",
                "color": "#ddd"
            }
        }
    };
    c['chart']['padding']['top'] = 20;

    alert(c['chart']['padding']['top']);

看看这个:我对我的问题做了一些修改。要更改的键和值也来自变量。那么我们应该如何实现呢?我对我的问题做了一些修改。要更改的键和值也来自变量。那么我们应该如何实现它呢?要使用变量指定属性名,请使用下标语法。(obj[propertyname])。我根据您的新问题更新了答案。包含键的变量也可能有“padding.top”。如何知道要更改的键是嵌套键还是父键我猜您可以使用myProperty.indexOf(“.”)。但老实说,我认为您应该找到一个JavaScript基础教程,并完成它,而不是到处询问您所面临的每一个问题。从长远来看,你将从中受益更多。如果我的答案对你有帮助,请把它标记为正确答案。祝你的节目好运!