【发布时间】:2018-07-22 16:31:52
【问题描述】:
我想在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。我真的尝试了很多排列,请建议。非常感谢!
【问题讨论】:
-
你的字典是如何创建的,你能上传一些你的代码吗?
-
new是保留关键字。尝试使用其他词,例如new_dict。 -
您会重新考虑您接受的答案吗? ;-)
标签: javascript dictionary