回答編集履歴

2

追記

2017/02/25 11:08

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア35865

test CHANGED
@@ -53,3 +53,17 @@
53
53
  ```
54
54
 
55
55
  こんな感じか、うーん……
56
+
57
+  
58
+
59
+ ##### ひらめいた
60
+
61
+ これならプロトタイプ汚染されないんじゃないかな?
62
+
63
+ ```javascript
64
+
65
+ let str='{"a":1}';
66
+
67
+ let obj = Object.assign(Object.create(null), JSON.parse(str));
68
+
69
+ ```

1

追記

2017/02/25 11:08

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア35865

test CHANGED
@@ -25,3 +25,31 @@
25
25
  ```
26
26
 
27
27
  プロトタイプ汚染をして階層のディープなMap構造をJSONにする方法を思いついたのですが、パースが手間ですねえ……
28
+
29
+
30
+
31
+ ##### 追記
32
+
33
+ ```javascript
34
+
35
+ (o => {
36
+
37
+ return (function f(o){
38
+
39
+ if (Object.getPrototypeOf(o) === Object.prototype){
40
+
41
+ return new Map( Object.keys(o).map(k=> [k, f(o[k])]) );
42
+
43
+ } else {
44
+
45
+ return o;
46
+
47
+ }
48
+
49
+ })(o)
50
+
51
+ })(JSON.parse(str));
52
+
53
+ ```
54
+
55
+ こんな感じか、うーん……