0

基本上我想做的是,在达到我的目的后,每次都使用单个对象。
对于 javascript 中的数组,我曾经编写arr.length=0使任何数组为空,而不是将其指向不同的内存位置。有什么方法可以让我在 javascript 中清空一个对象?
场景是:

var obj = {};
obj["name"]="Aman";
obj["country"]="India";
console.log(obj); // output is { name: 'Aman', country: 'India' }

我可以在删除它的内容后重用这个obj对象吗?如果是这样怎么办?

4

3 回答 3

4

我能想到的唯一方法是遍历对象并依次删除每个属性。

var obj = {};
obj["name"]="Aman";
obj["country"]="India";

for (var prop in obj) {
    // Possibly with a hasOwnProperty test, depending on how empty you want it to be
    delete obj[prop];
}

console.log(obj);

显然,如果您不处理对该对象的多个引用,则可以用一个新的引用覆盖它。

var obj = {};
obj["name"]="Aman";
obj["country"]="India";

obj = {};

console.log(obj);
于 2013-10-17T07:08:59.590 回答
2
for (var member in myObject) {
    if ( myObject.hasOwnProperty(member) ) {
        delete myObject[member];
    }
}
于 2013-10-17T07:11:30.827 回答
0

使用 ECMAScript 6 地图:

var obj = new Map();
obj.set("name", "Aman");
obj.set("country", "India");
obj.clear();
于 2013-10-17T07:47:59.973 回答