回答編集履歴

1

追記

2018/02/14 03:15

投稿

yambejp
yambejp

スコア114883

test CHANGED
@@ -15,3 +15,53 @@
15
15
  console.log([a,b,c]);
16
16
 
17
17
  ```
18
+
19
+
20
+
21
+ # 追記
22
+
23
+ 上記グローバル変数の場合でしたのでローカル変数には適用されません
24
+
25
+ オブジェクト自体外部から受け取るわけではなさそうですし
26
+
27
+ キーを特定の文字に制限するならevalを使ってもいいでしょう。
28
+
29
+
30
+
31
+ ```javascript
32
+
33
+ (function(){
34
+
35
+ var a=0,b=0,c=0,d=0,e=0;
36
+
37
+ var o = {a: 1, b: 2, c: 3,"d=4;e":5};
38
+
39
+ for(var i in o){
40
+
41
+ eval(i+"="+o[i]);
42
+
43
+ }
44
+
45
+ /*キーを検証しないと変数が汚染される可能性がある*/
46
+
47
+ console.log([a,b,c,d,e]);
48
+
49
+
50
+
51
+ var a=0,b=0,c=0,d=0,e=0;
52
+
53
+ for(var i in o){
54
+
55
+ /*日本語変数とか使わないかぎりこんな感じ*/
56
+
57
+ if(i.match(/^[a-zA-Z_$][0-9a-zA-Z_$]*$/))eval(i+"="+o[i]);
58
+
59
+ }
60
+
61
+ console.log([a,b,c,d,e]);
62
+
63
+ })();
64
+
65
+
66
+
67
+ ```