js 每日一更(数组转换成前端更容易解析的树状结构)

Posted KG--work-space

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 每日一更(数组转换成前端更容易解析的树状结构)相关的知识,希望对你有一定的参考价值。

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="content-type" content="text/html" />
        <meta name="keywords" content="数组转换成前端更容易解析的树状结构" />
        <meta name="description" content="数组转换成前端更容易解析的树状结构">
        <meta name="author" content="KG" />
        <meta charset="utf-8">
        <title>数组转换成前端更容易解析的树状结构</title>
    </head>
    <body>
        <script>
            var data = [{
                province: 浙江,
                city: 温州,
                code:10010
            }, {
                province: 浙江,
                city: 杭州,
                code:10011
            }, {
                province: 安徽,
                city: 合肥,
                code:10012
            }, {
                province: 安徽,
                city: 马鞍山,
                code:10013
            }, {
                province: 浙江,
                city: 宁波,
                code:10014
            }];

            function toTree(data) {
                var newData=[],
                hash={};
                for(var i=0;i<data.length;i++){
                    if(!hash[data[i].province]){
                        hash[data[i].province]={
                            province:data[i].province    
                        };
                        hash[data[i].province][city]=[{
                            name:data[i].city,
                            code:data[i].code
                        }];
                        newData.push(hash[data[i].province]);
                    }else if(hash[data[i].province].province==data[i].province){
                        hash[data[i].province][city].push({
                            name:data[i].city,
                            code:data[i].code
                        })
                    }
                }
                return newData;
            }
            
            console.log(toTree(data));
        </script>
    </body>
</html>

 

以上是关于js 每日一更(数组转换成前端更容易解析的树状结构)的主要内容,如果未能解决你的问题,请参考以下文章

每日一更1208

Calcite: 从list到tree的转换1

每日一更1203

数据结构之树状数组

前端js编程题总结

前端面试每日 3+1 —— 第799天