我有JSON对象如下。发送ajax调用后我想清除它。我该怎么办?
var cfamFwdDtls={
cndtwizid:[],
clientIdsInstnIds:[],
positioncd:'',
positionCnt:'',
rcrtrInstnId:'',
positionLocation:{
cntryIdFrCndt:'',
stateIdFrCndt:'',
zipIdFrCndt:'',
cityIdFrCndt:''
},
searchPstnSkill:[]
};
提前致谢....
答案 0 :(得分:6)
只需将变量重置为{}
;
cfamFwdDtls = {};
// or
cfamFwdDtls = new Object;
这是你开始思考的那一刻:“Whoooa,我简直不敢相信。”
你可以采取“漫长”的方式:
for (var key in cfamFwdDtls) {
delete cfamFwdDtls[key];
}
出于您的目的,这不是非常实用,但如果您想要更具选择性,循环是可行的方法。
答案 1 :(得分:2)
for (var entry in cfamFwdDtls) delete cfamFwdDtls[entry];
如果您只是重新分配到{}
,如果您的对象有多个引用,则会遇到麻烦。也可能面临垃圾收集问题。
答案 2 :(得分:0)
答案 3 :(得分:0)
当我遇到这个问题时,我想解决两个问题。
基本思想是让函数返回空结构。如果它不在函数中,您可以更改结构本身而不是结构的实例。
我个人使用它,但我也在类中包含 API 函数并使其成为 HTTP 服务。
class complexStructure {
constructor () {
this.payload = resetPayload();
}
resetPayload () {
this.payload = {
cndtwizid: [],
clientIdsInstnIds: [],
//...
};
}
}
function resetStructure () {
return {
cndtwizid: [],
clientIdsInstnIds: [],
//...
};
}
let resetStructure = resetStructure()