1. 程式人生 > >判斷物件屬性的值是否空,如為空,刪除該屬性

判斷物件屬性的值是否空,如為空,刪除該屬性

//filterParams({a:"",b:null,c:"010",d:123})
//Object {c: "010", d: 123}
//var abc = {
    //a: 1,
    //b: 2,
    //c: '',
    //d: ''
//}
//filterParams(abc)
//{a: 1, b: 2}
//這個方法不會影響原來的物件,而是返回一個新物件
function filterParams(obj){
    let _newPar = {};
    for (let key in obj) {
        //如果物件屬性的值不為空,就儲存該屬性(這裡我做了限制,如果屬性的值為0,儲存該屬性。如果屬性的值全部是空格,屬於為空。)
        if ((obj[key] === 0 || obj[key]) && obj[key].toString().replace(/(^\s*)|(\s*$)/g, '') !== '') {
            //記錄屬性
            _newPar[key] = obj[key];
        }
    }
    //返回物件
    return _newPar;
}