我想更新 javascript 中的字典 - 修改现有值或添加新值 - 与 python 字典更新相同。
dict+ 或 dict.update() 似乎不起作用。是否可以在 javascript 中这样做?
提前致谢!
data={"abc":{1:2,3:4}}
if (key in d) {
d[key].update(data[key]);
}
else {
d[key]={};
d[key]=data[key];
}
编辑:更新字典工作正常,如下所示-
dg={"abc":{1:2,3:4},"sdc":{1:2,4:5}}
function upd(data) {
for (key in data) {
if (key in dg) {
for (key2 in data[key]) {
dg[key][key2]=data[key][key2];
}
}
else {
dg[key]={};
for (key2 in data[key]) {
dg[key][key2]=data[key][key2];
}
}
但如果我尝试将函数分离为-
var old={};
var new={};
function update_dict(old,new) {
console.log(new,old);
for (key2 in new) {
old[key2]=new[key2];
}
return old;
}
function upd(data) {
for (key in data) {
if (key in dg) {
dg[key]=update_dict(dg[key],data[key]);
}
else {
dg[key]={};
dg[key]=update_dict(dg[key],data[key]);
}
它抛出一个错误 Uncaught SyntaxError: Unexpected token new 。我真的尝试了很多排列,请建议。非常感谢!
原文由 user2715898 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用 解构赋值。