博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS根据字符循环树形结构
阅读量:6403 次
发布时间:2019-06-23

本文共 1199 字,大约阅读时间需要 3 分钟。

var w = 'a||a1||a2,b||b1,c||c1||c2,a';function start(str) {    var strArr = str.split(',');    var selectedArr = [];    var selectedMap = {};    strArr.map(function (v) {        return v.split('||');    }).forEach(function (v) {        var parent;        var parentCode;        var child;        var childCode;        var childrenArr;        var len = v.length;        if (len === 1) {            parentCode = v[0];            parent = selectedMap[parentCode];            if (!parent) {                genObj(selectedMap, selectedArr, parentCode);            }        } else {            for (var i = 1; i < len; i++) {                parentCode = v[i - 1];                parent = selectedMap[parentCode];                if (!parent) {                    childrenArr = selectedArr;                    genObj(selectedMap, childrenArr, parentCode);                    parent = selectedMap[parentCode];                }                childCode = v[i];                childrenArr = parent.children;                genObj(selectedMap, childrenArr, childCode);            }        }    })        return selectedArr;}console.log(JSON.stringify(start(w)));

 

转载于:https://www.cnblogs.com/jsfun/p/8888038.html

你可能感兴趣的文章
一帧图像的两种显示器建模方式
查看>>
Hadoop 公平调度器算法调度解析
查看>>
Linux Foundation(笔记)
查看>>
Java学习第二十五天
查看>>
vim配置
查看>>
ubuntu 把软件源修改为国内源和更新
查看>>
随机产生四则运算,导入导出文件
查看>>
位运算符
查看>>
winform自定义控件
查看>>
C#编码好习惯
查看>>
避其锋芒,侧翼出击。——司马亮创业回忆录(一)
查看>>
scope
查看>>
删除链表中储存给定值的节点
查看>>
vCPU估算的几个基本概念
查看>>
DoraCMS 源码知识点备注
查看>>
一起谈.NET技术,晚绑定场景下对象属性赋值和取值可以不需要PropertyInfo
查看>>
一起谈.NET技术,.Net Framework源代码中的模式之Prototype(原型模式)
查看>>
[shell 命令] find 查找文件
查看>>
windows下启动mysql服务的命令行启动和手动启动方法
查看>>
VTK三维点集轮廓凸包提取
查看>>