回答編集履歴
2
strict
answer
CHANGED
@@ -18,6 +18,9 @@
|
|
18
18
|
console.log(b);
|
19
19
|
```
|
20
20
|
# 入れ子の入れ子
|
21
|
+
arguments.calleeは無名関数を再帰処理するときの自分自身です
|
22
|
+
strictで使えないなら、名前を付けてやるのが手っ取り早いかもしれません
|
23
|
+
|
21
24
|
```javascript
|
22
25
|
var json='{"test1":"aaa","test2":{"first_name":"tarou","last_name":"hanako","test_test":{"test5":"xxx"}},"test3":{"email":"test@test.com","prefecture":"東京都"},"test4":"bbb"}';
|
23
26
|
var a=JSON.parse(json);
|
@@ -32,4 +35,23 @@
|
|
32
35
|
}
|
33
36
|
})(a);
|
34
37
|
console.log(b);
|
38
|
+
```
|
39
|
+
|
40
|
+
# strict
|
41
|
+
```javascript
|
42
|
+
"use strict";
|
43
|
+
const json='{"test1":"aaa","test2":{"first_name":"tarou","last_name":"hanako","test_test":{"test5":"xxx"}},"test3":{"email":"test@test.com","prefecture":"東京都"},"test4":"bbb"}';
|
44
|
+
const a=JSON.parse(json);
|
45
|
+
const b=[];
|
46
|
+
const func=(x)=>{
|
47
|
+
for(var i in x){
|
48
|
+
if(typeof x[i]=="string"){
|
49
|
+
b.push([i,x[i]]);
|
50
|
+
}else{
|
51
|
+
func(x[i]);
|
52
|
+
}
|
53
|
+
}
|
54
|
+
};
|
55
|
+
func(a);
|
56
|
+
console.log(b);
|
35
57
|
```
|
1
ireko
answer
CHANGED
@@ -16,4 +16,20 @@
|
|
16
16
|
}
|
17
17
|
|
18
18
|
console.log(b);
|
19
|
+
```
|
20
|
+
# 入れ子の入れ子
|
21
|
+
```javascript
|
22
|
+
var json='{"test1":"aaa","test2":{"first_name":"tarou","last_name":"hanako","test_test":{"test5":"xxx"}},"test3":{"email":"test@test.com","prefecture":"東京都"},"test4":"bbb"}';
|
23
|
+
var a=JSON.parse(json);
|
24
|
+
var b=[];
|
25
|
+
(function(x){
|
26
|
+
for(var i in x){
|
27
|
+
if(typeof x[i]=="string"){
|
28
|
+
b.push([i,x[i]]);
|
29
|
+
}else{
|
30
|
+
arguments.callee(x[i]);
|
31
|
+
}
|
32
|
+
}
|
33
|
+
})(a);
|
34
|
+
console.log(b);
|
19
35
|
```
|