Sunny-117 / js-challenges

✨✨✨ Challenge your JavaScript programming limits step by step

Home Page:https://juejin.cn/column/7244788137410560055

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

移除空属性

Sunny-117 opened this issue · comments

移除空属性
commented
let obj={a:null,b:'哈哈哈'}
   
//对象移除为空的属性
for (const [key, value] of Object.entries(obj)) {
 if (value === null || value === "" || value === undefined) { //筛选条件可根据实际情况自行调整
   Reflect.deleteProperty(obj, key);
  }
}
console.log(obj) //{b:'哈哈哈'}
function main(obj){
    for (const key in obj) {
        if (Object.hasOwnProperty.call(obj, key)) {
            if(obj[key] === null || obj[key] === undefined || obj[key] === ""){
                delete obj[key]
            }else if(typeof obj[key] === "object"){
                main(obj[key])
            }
        }
    }
    return obj;
}
function removeEmpty(obj) {
  Object.keys(obj).forEach(key =>
    (obj[key] && typeof obj[key] === 'object') && removeEmpty(obj[key]) ||
    (obj[key] === undefined || obj[key] == null || obj[key] === '') && delete obj[key]
  );
  return obj;
};

let myObj = { a: '', b: null, c: undefined, d: 'Hello', e: { f: '', g:'World' } };
console.log(removeEmpty(myObj));