修改对象对应key的value
最近遇到一个特别逗的问题:
当我想写一个方法去修改对象中一些key的对应值时,我想让这个方法变得更灵活,
所以我把需要改的键值对完全由外面传入。
var obj = {}
refreshForm(prop,val) {
obj.prop = val
}
refreshForm(key1,val1)
骚操作来了,我拿到的prop和val都没有问题,但结果却和我预想的不一样,
运行的结果是对象中新创建的一对键值对{prop:val1}.
这里使用的点方法,它并没有去深究prop的具体值,而是直接把它当成是一个属性名,如果对象中没有这个key,对象会自动帮你创建一个新的键值对来存储数据。
解决办法:老老实实遍历对象去赋值。