The nest.object() function in D3.js is used to apply the nest operator to the given array and returns the nested object of key-value pair.
Syntax:
nest.object( array )
Parameters: This function accepts single parameter as mentioned above and described below:
- Array: This parameter holds the array of objects.
Return Value: It returns the object.
Below are a few examples of the above function
Example 1: When no duplicate key exists.
HTML
<!DOCTYPE html> <html lang="en">   <head>     <meta charset="UTF-8">     <meta name="viewport" content=         "width=device-width, initial-scale=1.0">       <style>         .originalColor {             height: 100px;             width: 100px;         }           .darkerColor {             height: 100px;             width: 100px;         }     </style> </head>   <body>       <!-- Fetching from CDN of D3.js -->    <script type="text/javascript"     </script>           <script>         // Forming the array of objects         let array = [             { car: "car1" }, { model: "model1" },             { car: "car2" }, { model: "model1" },             { car: "car3" }, { model: "model2" },             { car: "car4" }, { model: "model2" },             { car: "car5" }, { model: "model3" }         ]         let data = d3.nest()             .key(function (d) { return d.car; })             .key(function (d) { return d.model; })             .object(array)         console.log("Type is: ", typeof array)         console.log(data);     </script> </body>   </html> |
Output:
Example 2: When duplicate keys exist and accessing those keys that does not exist when accessed, outputs undefined.
HTML
<!DOCTYPE html> <html lang="en">   <head>     <meta charset="UTF-8">     <meta name="viewport" content=         "width=device-width, initial-scale=1.0">       <style>         .originalColor {             height: 100px;             width: 100px;         }           .darkerColor {             height: 100px;             width: 100px;         }     </style> </head>   <body>     <!-- Fetching from CDN of D3.js -->    <script type="text/javascript"     </script>           <script>         // Forming the array of objects         let array = [             { car: "car1" }, { model: "model1" },             { car: "car3" }, { model: "model1" },             { car: "car3" }, { model: "model2" },             { car: "car3" }, { model: "model2" },             { car: "car5" }, { model: "model3" }         ]         let data = d3.nest()             .key(function (d) { return d.car; })             .key(function (d) { return d.model; })             .key(function (d) { return d.car; })             .object(array)         console.log(data);         console.log(data.car1);           // Key does not exists so         // output is undefined         console.log(data.car2);         console.log(data.car3);     </script> </body>   </html> |
Output:

