2016-02-03 292 views
-4

我想檢查一個嵌套對象中的空值,我將如何循環通過嵌套的屬性?通過嵌套對象屬性循環

for (var propt in updatedInputs) { 

    if (updatedInputs[propt] == "") this.cancelSubmit(); 

    // check for nested properties 
    if (updatedInputs.hasOwnProperty(propt)) { 

    // loop through nested properties here 

    } 
} 

樣本對象:

Object {contacts: Array[5]} 
    contacts: Array[5] 
    0: "04354355" 
    1: "24349878779" 
    2: "wqewqewqeqw" 
    3: "wqewqeqwe" 
    4: "" 
+3

請給出樣本對象 –

+0

你是說如果其中一個嵌套屬性是一個數組或對象? –

+0

該示例對象不是有效的js對象,語法錯誤。此外,你是否試圖循環通過嵌套數組或嵌套對象? – nem035

回答

1

好啊,那我認爲它會做你現在想要什麼。

function iterObj(obj) { 

    for (var key in obj) { 
    console.log(key + ': ' + obj[key]); 
    if (obj[key] !== null && typeof obj[key] === "object") { 
     // Recurse into children 
     iterObj(obj[key]); 
    } 
    } 
} 
+0

只有當'updateInputs'是一個數組,但OP說他正在循環一個對象時,這纔會起作用。對象上沒有'forEach'這樣的東西。 – nem035

+0

如果確實如此,那麼'$ .each()'^ _ ^就沒有意義了。 – nem035