效果圖:
說明:
我的數據已經是一樹形結構的,由於用了插件的原因,想要把樹展示出來,數據結構必須是
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都被替換了,我這里只做了三層數據的測試