2016-12-03 81 views
-2

我有一個對象像下面,但我不知道如何檢查空狀態 我的目標,如何檢查空條件的對象

"general_info" : { 
    "parents_name" : "", 
    "date_of_birth" : "", 
    "second_day_attendance" : "", 
    "class_day" : "", 
    "reffered_by" : "", 
    "year" : "", 
    "amount_paid" : "", 
    "next_due" : "", 
    "payment_untill" : "", 
    "payment_made" : "" 
}, 

    if(general_info == ''){ 
     alert('empty') 
    } 

我知道我錯了,任何一個可以幫助我。謝謝。

// retrieve an Array of the keys of the named Object: 
Object.keys(general_info) 
    // iterate over all the keys in the Array, using 
    // Array.prototype.every() to see if all keys 
    // match the supplied assessment: 
    .every(
    // using an Arrow function to see if the current 
    // property-value of the named key of the Object 
    // is equal to a zero-length String: 
    key => general_info[key] === '' 
); 
+2

你試圖檢查是否所有屬性都是空的? –

回答

1

使用Object#keys

Object.keys(general_info).length 
// 10 

var general_info = { 
 
    "parents_name" : "", 
 
    "date_of_birth" : "", 
 
    "second_day_attendance" : "", 
 
    "class_day" : "", 
 
    "reffered_by" : "", 
 
    "year" : "", 
 
    "amount_paid" : "", 
 
    "next_due" : "", 
 
    "payment_untill" : "", 
 
    "payment_made" : "" 
 
}; 
 

 
if(Object.keys(general_info).length > 0){ 
 
    console.log('Object is not empty'); 
 
}

2

如果最終目的是檢查是否所有屬性值是空字符串檢查長度使用以下來檢查存在對象的屬性。

!Object.keys(obj).length 

const general_info = { 
 
    "parents_name": "", 
 
    "payment_made": "" 
 
} 
 

 
const empty_object = {} 
 

 
function isEmpty(obj) { 
 
    return !Object.keys(obj).length 
 
} 
 

 
console.log(
 
    isEmpty(general_info) 
 
) 
 
console.log(
 
    isEmpty(empty_object) 
 
)

+0

謝謝David ... – MMR