Heim > Fragen und Antworten > Hauptteil
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
in:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
|
Was ist mit diesem Format? Meine Fähigkeiten sind begrenzt und ich kann mir wirklich nicht vorstellen, dass eine solche Transformation erreicht werden kann.
扔个三星炸死你2017-06-12 09:31:38
手机回答,没办法给你上代码,但是大概思路应该是:
1.先理一下你的需求,如果我理解错了,下面的就不用看了:
你是想把原来的一维的,没有层级结构的数据按照国家代号,省市代号,地区代号这样分开,下一级地区的key是上一级省市的key,通过代码可以直接从国家到省到市,一级一级的找到某地区。
2.首先,你的数据是一个对象,每个属性是对应值的地区代号,而值是一个数组,第二个元素是他的父节点代号,这就好办了。
3.先建立一个空对象。
4.循环遍历原对象。
5.每拿到一个原对象的属性,先判断他的值(也就是二值数组)的第二个值,如果是1,说明是顶级地区,也就是省或者直辖市,把这些写到新建立对象中,写在86国家代码那个属性下,
6.如果拿到的第二个值不是1,说明他不是顶级的省或者市,而是某个地区,去新对象下去找有没有该代码对应的省或地区,如果没有,就在新对象中新建,有则直接写到对应代码中。
7.这样就可以按照 国家~省/直辖市~地区,的方式划分开
8.看到你还特意标明了,直辖市,根据你给的数据,如果省名称和直辖市名称一样的话,就表明成直辖市就行了
9.手机打,会有很多不好理解的地方,如果方法不能理解或者有错,请直接忽视
ringa_lee2017-06-12 09:31:38
一个简单的示例如下(源数据格式非 JSON,故简单实现中强行 eval 之):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
|
执行结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
|