treeify arrToTree 转换工具开源项目

我要开发同款
匿名用户2018年04月06日
25阅读
开发技术JavaScript
所属分类程序开发、常用工具包
授权协议MIT

作品详情

treeify.js-v0.0.3(MIT)

treeify是将一个数组(每个元素包含相同的特定的规则)转换为一个树对象的工具。

ConstructorParameterstreeify(data, idKey = 'id', parentIdKey = 'parentId', childrenName = 'children')

data {Array}一个一维数组,该数组中每个元素均必须是一个对象,对象至少包含两个属性:

唯一id的属性,如名称为"id"的属性;

指向父级id的属性,如名称为"parentId"的属性。

idKey {string}标识元素中哪个属性是代表唯一id的名称,默认为"id"

parentIdKey {string}标识元素中哪个属性是代表指向父元素的id,默认为"parentId"

childrenName {string}默认情况下将向元素添加一个名为'children'的属性,代表当前元素的子级。可通过此参数修改这个名称。

Installation$ npm install --save-dev treeify-jsBuild$ npm run buildUsage

你有一个arr:

var arr = [    {        id: 'a1',        parentId: 'a'    },    {        id: 'aq',        parentId: 'a2'    },    {        id: 'a2',        parentId: 'a'    },    {        id: 'a1-1',        parentId: 'a1'    },    {        id: 'a',        parentId: ''    }];

想要转换成下边这样的tree:

{        id: 'a',        parentId: '',        children: [            {                id: 'a1',                parentId: 'a',                children: [                    {                        id: 'a1-1',                        parentId: 'a1',                        children: []                    }                ]            },            {                id: 'a2',                parentId: 'a',                children: [                    {                        id: 'aq',                        parentId: 'a2',                        children: []                    }                ]            }        ]    }

只需要这样写:

treeify(arr);
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论