[英]Replace a JSON property dynamically in Javascript
我想用函數調用動態地用 {"John": "Dough"} 替換 "placeholder"。
這有效:
a = {foo:{bar:{baz:"placeholder"}}};
a.foo.bar.baz = {"John" : "Dough"};
console.log(JSON.stringify(a));
> {"foo":{"bar":{"baz":{"John":"Dough"}}}}
但這不會:
var test = function(key, value) {
a = {foo:{bar:{baz:"placeholder"}}};
a.foo.bar.baz = { key: value};
console.log(JSON.stringify(a));
};
test("John", "Dough");
> {"foo":{"bar":{"baz":{"key":"Dough"}}}}
這也不起作用:
var test = function(key, value) {
a = {foo:{bar:{baz:"placeholder"}}};
a.foo.bar.baz[key] = value;
console.log(JSON.stringify(a));
};
test("John", "Dough");
> {"foo":{"bar":{"baz":"placeholder"}}}
我正在 Node.js 上進行測試。 可能不會在瀏覽器中改變。
改變你的功能如下
var test = function(key, value) {
a = {foo:{bar:{baz:"placeholder"}}};
a.foo.bar.baz = {}; //creating a new object as `baz` value then assign
a.foo.bar.baz[key] = value;
console.log(JSON.stringify(a));
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.