• js 替换树形数据字段名


    效果图:

    说明:

    我的数据已经是一树形结构的,由于用了插件的原因,想要把树展示出来,数据结构必须是

     1 var data = [{
     2         title: '江西' //一级菜单
     3         ,children: [{
     4           title: '南昌' //二级菜单
     5           ,children: [{
     6             title: '高新区' //三级菜单
     7             //…… //以此类推,可无限层级
     8           }]
     9         }]
    10       },{
    11         title: '陕西' //一级菜单
    12         ,children: [{
    13           title: '西安' //二级菜单
    14         }]
    15    }]
     1  var obj = [{
     2                             "shopClassCode":"STSWL00101",
     3                             "shopClassName":"电机",
     4                             "ifDisplayOnHead":true,
     5                             "shopClassInfos":[
     6                                 {
     7                                     "shopClassCode":"STSWL0010101",
     8                                     "shopClassName":"低压普通电机",
     9                                     "ifDisplayOnHead":true,
    10                                     "shopClassInfos":null
    11                                 },
    12                                 {
    13                                     "shopClassCode":"STSWL0010102",
    14                                     "shopClassName":"低压防爆电机",
    15                                     "ifDisplayOnHead":true,
    16                                     "shopClassInfos":null
    17                                 }]
    18                             }]

     解决办法:

    var replaceStr = obj.replace(/shopClassCode/g, "value").replace(/shopClassName/g, "title").replace(/shopClassInfos/g, "children")

    注意:

    像处理树这种数据结构,一般都是全部替换的,不管多少层,所以一定要有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。

    打印出来的结果:

    可以看到指定的key都被替换了,我这里只做了三层数据的测试

     

    欢迎转载,请注明出处
  • 相关阅读:
    数据库备份,全备份、增量备份与恢复
    虚拟机扩容---续集(热扩容)
    虚拟机扩容
    Linux下R环境安装
    OLAP、OLTP的介绍CBO/RBO
    CRC校验(转)
    产品经理必读的30本书单(转)
    xcode6 下 ios simulator 有 Home 键么?
    如果我可以重新学习iOS开发(转)
    按位与、或、异或等运算方法(转)
  • 原文地址:https://www.cnblogs.com/time1997/p/15466865.html
Copyright © 2020-2023  润新知