在工作中,有时需要我们将json数组转换为树形结构。这是在下写的一个转换的函数,希望对大家有所帮助。
<script>
var datas = [
{id: 0, address: "中国"},
{id: 1, address: "广东", parent_id: 0},
{id: 2, address: "浙江", parent_id: 0},
{id: 3, address: "深圳", parent_id: 1},
{id: 4, address: "南山", parent_id: 3},
{id: 5, address: "西丽", parent_id: 4},
{id: 6, address: "杭州", parent_id: 2},
{id: 7, address: "河南", parent_id: 0},
{id: 8, address: "郑州", parent_id: 7},
{id: 9, address: "上海", parent_id: 0},
{id: 10, address: "黄浦", parent_id: 9},
{id: 11, address: "外滩", parent_id: 10},
{id: 12, address: "广州", parent_id: 1}
];
function transTree(data,id,pid){
var result = [];
var obj = {};
for(var i=0;i<data.length;i++){
var key = data[i];
//以id为索引存储元素
obj[key[id]] = key;
}
for(var j in obj){
//当前元素
var current = ob