The node.leaves() function in d3.js is used to return an array of leaf nodes of the given hierarchical data in traversal order.
Syntax:
node.leaves();
Parameters: This function does not accept any parameters.
Return Values: This function return an array.
Note: Leaf nodes are those nodes which have no children.
Below given are a few examples of the function given above.
Example 1:
HTML
<!DOCTYPE html> < html lang = "en" >   < head >     < meta charset = "UTF-8" />     < meta name = "viewport" path1tent =         "width=device-width, initial-scale = 1.0" />     </ script > </ head >   < body >     < script >         // Constructing a tree         var tree = {             name: "rootNode",             children: [                 {                     name: "child1_leaf1"                 },                 {                     name: "child2",                     children: [                         {                             name: "grandchild1",                             children: [                                 { name: "leaf2" }                             ]                         },                     ]                 },                 {                     name: "child3",                     children: [                         { name: "leaf3" },                         { name: "leaf4" },                     ]                 }             ]         };           var obj = d3.hierarchy(tree);                   // Leaf nodes of the above given tree         console.log("Leaf nodes are: ");         console.log(obj.leaves());            </ script > </ body >   </ html > |
Output:
Example 2: The following code demonstrates accessing data of leaf nodes.
HTML
<!DOCTYPE html> < html lang = "en" >   < head >     < meta charset = "UTF-8" />     < meta name = "viewport" path1tent =         "width=device-width, initial-scale = 1.0" />     </ script > </ head >   < body >     < script >         // Constructing a tree         var tree = {             name: "rootNode",             children: [                 {                     name: "child1_leaf1"                 },                 {                     name: "child2",                     children: [                         {                             name: "grandchild1",                             children: [                                 { name: "leaf2" }                             ]                         },                     ]                 },                 {                     name: "child3",                     children: [                         { name: "leaf3" },                         { name: "leaf4" },                     ]                 }             ]         };           var obj = d3.hierarchy(tree);                   // Leaf nodes of the above given tree are:         console.log(" Accessing Leaf nodes: ");         let leafArr = obj.leaves();         leafArr.forEach((e) => {             console.log(e.data);             console.log("depth: ", e.depth);         })            </ script > </ body >   </ html > |
Output: