function AreaCollection(name) { this.name = name; this.length = 0; this.add = addArea; return this; } function addArea(object) { this.length++; this[this.length] = object } function AreaNode(id,name) { this.id = id; this.name = name; return this; } function extractAreaChildrenOf(node,arr) { var children = new AreaCollection(node); var currentIndex = 1; while (currentIndex <= arr.length) { //arr[currentIndex].id.startWith(node) && if (arr[currentIndex].id.substring(0,node.length)==node && arr[currentIndex].id.length==(node.length+3) ) { children.add(arr[currentIndex]) } currentIndex++ } return children; } areas=new AreaCollection("A"); areas.add(new AreaNode("A004","香港")) areas.add(new AreaNode("A002","澳门")) areas.add(new AreaNode("A003","台湾")) areas.add(new AreaNode("A006","北京")) areas.add(new AreaNode("A007","上海")) areas.add(new AreaNode("A008","天津")) areas.add(new AreaNode("A009","重庆")) areas.add(new AreaNode("A001","海南")) areas.add(new AreaNode("A005001","广州")) areas.add(new AreaNode("A034","安徽")) areas.add(new AreaNode("A033","贵州")) areas.add(new AreaNode("A032","青海")) areas.add(new AreaNode("A031","西藏")) areas.add(new AreaNode("A030","云南")) areas.add(new AreaNode("A029","宁夏")) areas.add(new AreaNode("A028","甘肃")) areas.add(new AreaNode("A027","新疆")) areas.add(new AreaNode("A026","广西")) areas.add(new AreaNode("A025","山东")) areas.add(new AreaNode("A024","山西")) areas.add(new AreaNode("A023","陕西")) areas.add(new AreaNode("A022","河南")) areas.add(new AreaNode("A021","四川")) areas.add(new AreaNode("A020","江西")) areas.add(new AreaNode("A019","湖北")) areas.add(new AreaNode("A018","湖南")) areas.add(new AreaNode("A017","福建")) areas.add(new AreaNode("A016","浙江")) areas.add(new AreaNode("A015","江苏")) areas.add(new AreaNode("A014","河北")) areas.add(new AreaNode("A013","内蒙古")) areas.add(new AreaNode("A012","吉林")) areas.add(new AreaNode("A011","黑龙江")) areas.add(new AreaNode("A010","辽宁"))