今天我在这里,因为我无法自己找出问题。我有以下对象:重置对象键值
var obj = {
"type": "name",
"param1": 10,
"param2": "text",
"param3": "more_text",
"param4": 20
}
现在我想这样做,可以将所有的每个关键字保持对0的值,因此,下一次我调用这个对象,所有的值被重置为;
什么,我都试过,但它不工作如下:
Object.prototype.reset = function(){
for(var i in this){
if(typeof this[i] != 'function'){
if(i == 'type'){
i = this[i];
}
else{
i = 0;
}
}
}
}
所有的钥匙,我只希望“类型”以保持其价值,而剩下的应该重置为0 ;
注:行
if(typeof this[i] != 'function'){
是因为有某种原因,this[i]
返回方法的源代码,我想避免陷入这一点。如果有任何解决方案,会很好,但我没有设法解决这个问题。
最终的结果应该是这个样子:
var obj = {
"type": "name",
"param1": 10,
"param2": "text",
"param3": "more_text",
"param4": 20
}
obj.reset()
var obj = {
"type": "name",
"param1": 0,
"param2": 0,
"param3": 0,
"param4": 0
}
我对所有事情都很洞察,我错过了这个错误。谢谢 – user3477993
不客气! – nashcheez