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>

原文地址:https://www.cnblogs.com/nimon-hugo/p/12694277.html

时间: 2024-10-10 01:08:20

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

js join()函数将数组转换成字符串

join() 方法用于把数组中的所有元素放入一个字符串.作用是将数组转换为字符串,其作用和toString()相同. 元素是通过指定的分隔符进行分隔的. 例如: var asp=['H','ell','o']; a=asp.join('#'); #:表示以什么符号链接 a=asp.join('');  输出:Hello console.log(a);  输出:H#ell#o 用途:html代码字符串的组合 var topHead =[ '<span class="user">

在Ajax中将数组转换成字符串

主页面; <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>ajax查表格</title> <script src="../jquery-1.11.2.min.js"> </script> </head> <body> <div&

$.toJSON的用法或把数组转换成json类型

1. html页面全部代码 <html> <head>     <title></title> <script src="../../Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> <script src="../../Scripts/JqueryJson.js" type="text

笔试算法题(31):将有序数组转换成BST表示 &amp; 线段树的应用

出题:要求将一个有序整数数组转换成最小深度的Binary Search Tree表示: 分析:由于需要是最小深度,所以BST应保持平衡,左右节点数大致相当,并且BST中当前根节点大于所有其左子树中的元素,小于所有其右子树中的元素.对于排序数组而言,中间元素必然作为根节点,然后递归对由中间元素分割的左右数组部分进行处理: 解题: 1 struct Node { 2 int value; 3 Node *left; 4 Node *right; 5 }; 6 7 Node* Array2BST(in

求平均数-----类数组转换成数组

求平均数的代码function avgFn() { 首先把arguments转化为数组 var ary = []; for (var i = 0; i < arguments.length; i++) { ary.push(arguments[i]); ary[ary.length] = arguments[i]; } 数组排序 ary.sort(function (a, b) { return a - b; }); 掐头去尾 ary.unshift(); ary.pop(); 求和求平均值,小

LeetCode OJ:Convert Sorted Array to Binary Search Tree(将排序好的数组转换成二叉搜索树)

Given an array where elements are sorted in ascending order, convert it to a height balanced BST. 讲一个排序好的数组转换成二叉搜索树,这题没想出来,基本上是参考别人的,边界条件应该注意一下: 1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * T

数组转换成集合

package com.loaderman.jdk5; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class Demo4_AsList { /** * 数组转换成集合 * 数组转换成集合虽然不能增加或减少元素,但是可以用集合的思想操作数组,也就是说可以使用其他集合中的方法 */ public static void main(String[] args) { //demo1

java的byte数组转换成在[0,255]范围内

C#的byte    是 0-255java的byte  是 -128-127  java的byte数组转换成在[0,255]范围内int data[]= new int[bytes.length];for(int i=0;i<bytes.length;i++) { data[i] = bytes[i] & 0xff;}

【第3篇】通过JSON-Lib把数组转换成Json数据

package ivyy.taobao.com.domain.jsonlib; import ivyy.taobao.com.entity.Address; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import net.sf.json.JSONArray; import net.sf.json.JSONObject; /** *@DEMO:j