JavaScript 清空对象属性的方法
JavaScript 清空对象属性的方法, 无限极清空
function clearObj(obj) {
// 判断是不是对象
if(!Object.prototype.toString.call(obj) == "[object Object]") {
return false;
}
for (const key in obj) {
if(Object.prototype.toString.call(obj[key]) == "[object Object]") {
// 处理多级非空对象
if(Object.keys(obj[key]).length > 0) {
clearObj(obj[key]);
}
} else if (Array.isArray(obj[key])) {
// 数组置空
obj[key] = [];
} else {
// 其他类型, 如果以下对象没有包含类型的将会是 undefined
let dataType = {number: 0, string: "", boolean: false, function: () => {}}
let _key = typeof obj[key];
obj[key] = dataType[_key];
}
}
return obj;
}
原始数据:
{
a: "哈哈哈",
b: 1,
c: true,
d: {
a: "嘻嘻",
b: 2,
c: false,
d: {
a: "嘻嘻",
b: 2,
c: true,
d: [1,2,3]
},
e: ["哈哈", "嘻嘻"]
},
e: [1,2,3],
f: () => {
console.log("函数")
},
g: null
}
清空后数据:
{
a: "",
b: 0,
c: false,
d: {
a: "",
b: 0,
c: false,
d: {
a: "",
b: 0,
c: false,
d: [ ]
},
e: [ ]
},
e: [ ],
f: () => { },
g: undefined
}

浙公网安备 33010602011771号