遞歸地循環遍歷物件(樹)
在 JavaScript 或 jQuery 中,可以使用 for 來實現遍歷物件及其後代。 ..in 迴圈:
<code class="javascript">for (var key in foo) { if (key == "child") { // Do something with child } if (key == "bar") { // Do something with bar } if (key == "grand") { // Do something with grand } }</code>
請注意,for...in 迴圈會迭代所有可枚舉屬性,包括從物件原型繼承的屬性。若要避免對繼承的屬性進行操作,請使用hasOwnProperty:
<code class="javascript">for (var key in foo) { if (!foo.hasOwnProperty(key)) continue; if (key == "child") { // Do something with child } }</code>
遞歸循環
要遞歸循環,請建立遞歸函數:
<code class="javascript">function eachRecursive(obj) { for (var key in obj) { if (typeof obj[key] === "object" && obj[key] !== null) { eachRecursive(obj[key]); } else { // Do something with primitive value } } }</code>
該函數可以處理物件和數組,遞歸地遍歷它們的巢狀結構。
以上是如何在 JavaScript 或 jQuery 中遞歸遍歷物件(樹)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!