English | 简体中文
Convert large amounts of data array to nested data structure fastly!
Use the test data that array length 46086, just take about 0.1 second.
In Node.js:
$ npm i smart-arraytotree --savevar smartArrayToTree = require('../index.js'); var fetch = require('node-fetch'); //get test data length 46086 fetch('https://raw.githubusercontent.com/internet5/smart-array-to-tree/master/example/data.json').then(function(response) { return response.json(); }).then(function(data) { //start time console.log(new Date()); //transform let tree = smartArrayToTree(data, { id:'regionId', pid:'parentId', firstPid:null }); //end time console.log(new Date()); }).catch(function(e) { console.log(e); }); /*console*/ //2017-11-21T09:51:37.930Z //2017-11-21T09:51:37.979ZIn a browser:
<script src="smartArrayToTree.js"></script><script src="http://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script> <script src="smartArrayToTree.js"></script> <script> window.onload = function () { $.getJSON("https://raw.githubusercontent.com/internet5/smart-array-to-tree/master/example/data.json", function (data) { console.log(new Date()); var tree = smartArrayToTree(data, { id: 'regionId', pid: 'parentId', firstPid: null }); console.log(new Date()); console.log(tree) }); } </script>- Array
data: An array of data - Object
options: An object containing the following fields:id(String): An unique node identifier. Default: 'id'pid(String): A name of a property where a link to a parent node could be found. Default: 'pid'children(String): The child node name that you want. Default: 'children' -firstPid(String): The parent id of top level node . Default: null
- Array: Result of transformation