function arrayToTree(data, nodesField, idField, parentIdField) { if (!nodesField) nodesField = 'children'; idField = idField || '_id'; parentIdField = parentIdField || '_pid'; var nodes = []; var idHash = {}; for (var i = 0, l = data.length; i < l; i++) { var o = data[i]; if (!o) continue; var id = o[idField]; if (id !== null && id !== undefined) { idHash[id] = o; } delete o[nodesField]; } for (var i = 0, l = data.length; i < l; i++) { var o = data[i]; var p = idHash[o[parentIdField]]; if (!p) { nodes.push(o); continue; } if (!p[nodesField]) { p[nodesField] = []; } p[nodesField].push(o); } return nodes; }
listtoTree
猜你喜欢
转载自www.cnblogs.com/romayn/p/11288045.html
今日推荐
周排行