gpt4 book ai didi

javascript - 有没有办法在 JavaScript 中清除对象?

转载 作者:行者123 更新时间:2023-11-28 01:13:47 26 4
gpt4 key购买 nike

有没有办法清除 Javascript 中的对象?具体来说,如果一个对象有多个成员变量,是否有一种简单的方法来重置每个值?

function exampleObject() {
this.valueA = "A";
this.valueB = "B";
this.myArray = [1,2,3];
}

那么基本上,对于上述实例,将三个成员重置为空字符串和空数组?我可以轻松地为对象创建一个成员函数原型(prototype)来执行此操作并调用它:

function exampleObject() {
this.valueA = "A";
this.valueB = "B";
this.myArray = [1,2,3];
exampleObject.prototype.resetAll = function() {
this.valueA = "";
this.valueB = "";
this.myArray = [];
}
}

但是我想对第三方库中的对象执行此操作,因此添加成员函数是不现实的。

最佳答案

这取决于你所说的“重置”是什么意思。如果您想根据属性类型将所有属性清除为某个默认值,您可以执行以下操作:

function resetObject(o) {
for(var key in o) {
if(!o.hasOwnProperty(key)) continue;
var val = o[key];
switch(typeof val) {
case "string":
o[key] = ""; break;
case "number":
o[key] = 0; break;
case "boolean":
o[key] = false; break;
case "object":
if(val === null) break;
if(val instanceof Array) {
o[key] = []; break;
}
val = {};
//Or recursively clear the sub-object
//resetObject(val);
break;
}
}
}

关于javascript - 有没有办法在 JavaScript 中清除对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24089850/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com