基本上我想要做的是,在我的目的被提供后,每次使用单个对象后使用它
对于javascript中的数组,我曾经写arr.length=0
来使任何数组为空,而不是将其指向不同的内存位置。有什么办法可以在javascript中清空对象吗?
场景是:
var obj = {};
obj["name"]="Aman";
obj["country"]="India";
console.log(obj); // output is { name: 'Aman', country: 'India' }
删除内容后,我可以重复使用 obj 对象吗?如果是这样的话?
答案 0 :(得分:3)
我能想到的唯一方法是循环遍历对象并依次删除每个属性。
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);
答案 1 :(得分:2)
for (var member in myObject) {
if ( myObject.hasOwnProperty(member) ) {
delete myObject[member];
}
}
答案 2 :(得分:0)
使用ECMAScript 6 Map:
var obj = new Map();
obj.set("name", "Aman");
obj.set("country", "India");
obj.clear();