回答編集履歴
3
例を修正
test
CHANGED
@@ -70,6 +70,8 @@
|
|
70
70
|
|
71
71
|
}
|
72
72
|
|
73
|
+
console.log(result);
|
74
|
+
|
73
75
|
JSON.stringify(result, null, 2);
|
74
76
|
|
75
77
|
```
|
2
例の出力を追加
test
CHANGED
@@ -58,26 +58,44 @@
|
|
58
58
|
|
59
59
|
}
|
60
60
|
|
61
|
-
var key = primarySubdivision;
|
62
|
-
|
63
|
-
if (result[key] == null)
|
64
|
-
|
65
|
-
result[key] = [];
|
66
|
-
|
67
|
-
|
61
|
+
$tds.eq($tds.length - 1).text()
|
68
62
|
|
69
63
|
.split("、")
|
70
64
|
|
71
|
-
.
|
65
|
+
.forEach(function (secondarySubdivision) {
|
72
66
|
|
73
|
-
ret
|
67
|
+
result[prefecture + secondarySubdivision] = primarySubdivision;
|
74
68
|
|
75
69
|
});
|
76
70
|
|
71
|
+
}
|
72
|
+
|
77
|
-
|
73
|
+
JSON.stringify(result, null, 2);
|
74
|
+
|
75
|
+
```
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
出力は以下のようになります。
|
80
|
+
|
81
|
+
```JSON
|
82
|
+
|
83
|
+
{
|
84
|
+
|
85
|
+
"北海道稚内市": "宗谷地方",
|
86
|
+
|
87
|
+
"北海道猿払村": "宗谷地方",
|
88
|
+
|
89
|
+
"北海道豊富町": "宗谷地方",
|
90
|
+
|
91
|
+
"北海道幌延町": "宗谷地方",
|
92
|
+
|
93
|
+
(...中略...)
|
94
|
+
|
95
|
+
"沖縄県与那国町": "与那国島地方"
|
78
96
|
|
79
97
|
}
|
80
98
|
|
81
|
-
|
99
|
+
```
|
82
100
|
|
83
|
-
|
101
|
+
|
1
例追加
test
CHANGED
@@ -11,3 +11,73 @@
|
|
11
11
|
これを利用すれば、「一次細分区域」に対応する全ての「二次細分区域の名称」を取得できます。
|
12
12
|
|
13
13
|
まあ、一部に注*がありますが、大体は市区町村のようなので、なんとかなると思います。
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
以下、注を処理しないデータを取ってみたので参考にしてみてください。
|
18
|
+
|
19
|
+
```javascript
|
20
|
+
|
21
|
+
var $table = $('.data2').eq(0);
|
22
|
+
|
23
|
+
var $trs = $table.find('tr');
|
24
|
+
|
25
|
+
var primarySubdivision = null;
|
26
|
+
|
27
|
+
var prefecture = null;
|
28
|
+
|
29
|
+
var result = {};
|
30
|
+
|
31
|
+
for (var i = 1; i < $trs.length; ++i)
|
32
|
+
|
33
|
+
{
|
34
|
+
|
35
|
+
var $tds = $trs.eq(i).children('td');
|
36
|
+
|
37
|
+
if ($tds.length > 2) {
|
38
|
+
|
39
|
+
primarySubdivision = $tds.eq($tds.length - 3).text();
|
40
|
+
|
41
|
+
}
|
42
|
+
|
43
|
+
if ($tds.length > 3) {
|
44
|
+
|
45
|
+
prefecture = $tds.eq($tds.length - 4).text();
|
46
|
+
|
47
|
+
}
|
48
|
+
|
49
|
+
if (i <= 46) {
|
50
|
+
|
51
|
+
prefecture = "北海道";
|
52
|
+
|
53
|
+
}
|
54
|
+
|
55
|
+
if (i >= 362) {
|
56
|
+
|
57
|
+
prefecture = "沖縄県";
|
58
|
+
|
59
|
+
}
|
60
|
+
|
61
|
+
var key = primarySubdivision;
|
62
|
+
|
63
|
+
if (result[key] == null)
|
64
|
+
|
65
|
+
result[key] = [];
|
66
|
+
|
67
|
+
var data = $tds.eq($tds.length - 1).text()
|
68
|
+
|
69
|
+
.split("、")
|
70
|
+
|
71
|
+
.map(function (secondarySubdivision) {
|
72
|
+
|
73
|
+
return prefecture + " " + secondarySubdivision;
|
74
|
+
|
75
|
+
});
|
76
|
+
|
77
|
+
[].push.apply(result[key], data);
|
78
|
+
|
79
|
+
}
|
80
|
+
|
81
|
+
console.log(result);
|
82
|
+
|
83
|
+
```
|