我使用以下代码创建一个 JSON 对象
var config = {"config": {
"example": false,
"example2": true,
}
};
我想有条件地向配置对象的中间添加(或不添加)一些值。我尝试了以下方法:
var additionalconfig = "";
if(additionalconfig){
additionalConfig = {"additional1":true,
"additional2":2};
}
var config = {"config": {
"example": false,
additionalConfig,
"example2": true,
}
};
我将额外的配置添加为额外的 Node (列表?),这不是我想要的。我的预期结果是:
"config": {
"example": false,
"additional1":true,
"additional2":2
"example2": true,
}
我尝试使用additionalconfig[0]
删除 Node ,但收到错误意外的 token [
。比我尝试将其添加为字符串
additionalConfig = '"additional1":true,
"additional2":2';
但是我也遇到了错误。您知道是否可以实现这一目标,如果可以,如何实现?我需要在准确的位置添加配置,而不仅仅是合并两个对象
最佳答案
您不能在Javascript对象
中间附加其他属性,您可以做的就是在对象
的开头或末尾附加属性。
var config = {
"config": {
"example": false,
"example2": true,
}
};
var additionalConfig = {
"additional1": true,
"additional2": 2
};
var config1 = config;
//post-append
config = { ...config,
config: { ...config.config,
...additionalConfig
}
}
console.log(config);
//pre-append
config1 = { ...config1,
config: { ...additionalConfig,
...config1.config
}
}
console.log(config1);
关于javascript - 在 json 对象中添加额外的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50047562/