回答編集履歴

1

追記

2018/05/10 15:38

投稿

KazuhiroHatano
KazuhiroHatano

スコア7804

test CHANGED
@@ -1 +1,63 @@
1
1
  オブジェクトを元にtableのhtmlの文字列データを返す関数を作って再帰処理
2
+
3
+
4
+
5
+ ---
6
+
7
+ 追記
8
+
9
+
10
+
11
+ 失礼、table書きたいわけじゃないんですね
12
+
13
+ まあ、どのみち再帰処理ってことに変わりないですが
14
+
15
+
16
+
17
+ 別にyambejpさんのでいいというか
18
+
19
+ パフォーマンス的には無駄に変数が増えないあっちの方がいいんですが
20
+
21
+ 自分は関数が外の変数をいじくるのが嫌い&
22
+
23
+ 流用しやすいように作るのが好きなので別案
24
+
25
+
26
+
27
+ ```js
28
+
29
+
30
+
31
+
32
+
33
+ var data='{"test1":"aaa","test2":{"first_name":"tarou","last_name":"hanako"},"test3":{"email":"test@test.com","prefecture":"東京都"},"test4":"bbb"}';
34
+
35
+ var obj=JSON.parse(data);
36
+
37
+ obj=flatten_object(obj);
38
+
39
+ console.log(obj);
40
+
41
+
42
+
43
+ function flatten_object(obj){
44
+
45
+ var rtn={};
46
+
47
+ for(var i in obj){
48
+
49
+ if(typeof obj[i]==='object'){
50
+
51
+ Object.assign(rtn,flatten_object(obj[i]));
52
+
53
+ }
54
+
55
+ else{rtn[i]=obj[i];}
56
+
57
+ }
58
+
59
+ return rtn;
60
+
61
+ }
62
+
63
+ ```