Dans cette enquête, l'utilisateur recherche un mécanisme pour parcourir un objet, ses enfants et ses descendants de manière récursive. De plus, ils souhaitent récupérer le nom de chaque nœud rencontré.
La solution réside dans la boucle JavaScript for...in. Cette boucle parcourt les propriétés énumérables d'un objet. Il peut être utilisé comme suit :
<code class="javascript">for (var key in foo) { if (key === "child") { // Perform an action specific to the "child" node } }</code>
Notez que la boucle for...in peut parcourir à la fois les propriétés propres de l'objet et les propriétés héritées. Pour éviter d'agir sur les propriétés héritées, utilisez la méthode hasOwnProperty :
<code class="javascript">for (var key in foo) { if (!foo.hasOwnProperty(key)) { continue; // Skip inherited properties } if (key === "child") { // Perform an action specific to the "child" node } }</code>
Pour effectuer l'itération de manière récursive, une fonction récursive peut être utilisée :
<code class="javascript">function eachRecursive(obj) { for (var k in obj) { if (typeof obj[k] === "object" && obj[k] !== null) { eachRecursive(obj[k]); // Recurse through the nested node } else { // Perform an action specific to the non-object node } } }</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!