回答編集履歴
3
for_future
test
CHANGED
@@ -46,7 +46,65 @@
|
|
46
46
|
|
47
47
|
return array_data1
|
48
48
|
|
49
|
+
}
|
49
50
|
|
51
|
+
```
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
---
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
コードとコードから推測したやりたいことからすると、こういうやりかたがいいのではないでしょうかという提案を。
|
60
|
+
|
61
|
+
functionによって変数のスコープが決まるので、makeit側でarray_data1とかって名前をつけても無意味。結局は、makeitの呼び出し側・array_data1の利用側で、変数iを使って変数array_data1を指せる必要がある。
|
62
|
+
|
63
|
+
→呼び出し側でevalするか、呼び出し側のthisを渡すか、の手当が必要になってくる。
|
64
|
+
|
65
|
+
かといって、1個じゃないから悩んでいるはずで、呼び出し側で、evalはできないと想像する
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
質問コードのmyFunctionでarray_data1と書いているけれど、`("array_data"+i).push(some)`みたいな使い方はどうやったってできないのだから、質問が解決できても無意味なんじゃないでしょうか。あらかじめコードで変数名を指定できるってことは個数が分かっているということでしょう?動的に増やす意味がない。
|
70
|
+
|
71
|
+
そりゃ`eval("tmp = array_data"+i+"[1]");`とかやればできなくはないのでしょうが、全部のコードをevalで進行していくのはつらいのではないでしょうか。コードに色がつかないからtypoにも気付けない。
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
利用側で変数を使って変数にアクセスできる、というのはobjectで解決できるし、外で任意の個数作らせるということも考えると、やりたいインデクサでアクセスできるobjectをもらったほうがいいのではないだろうか、と考えました。
|
76
|
+
|
77
|
+
このパターンなら、下記を後からobjectにarray_data5を足すことを想定したコードに書きかえるのは難しくないと思います。
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
ただ、こうやってくると、最初から、array_data[i][j]で良くないですか、って話になって、それが最初の追記
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
```javascript
|
86
|
+
|
87
|
+
function trialGiveMeArrays() {
|
88
|
+
|
89
|
+
const dataSet = giveMeArrays(4);
|
90
|
+
|
91
|
+
const two = 2;
|
92
|
+
|
93
|
+
dataSet["array_data"+two].push(3);
|
94
|
+
|
95
|
+
Logger.log(dataSet);
|
96
|
+
|
97
|
+
Logger.log(dataSet["array_data"+two]);
|
98
|
+
|
99
|
+
}
|
100
|
+
|
101
|
+
function giveMeArrays(nanko) {
|
102
|
+
|
103
|
+
const keys = [];
|
104
|
+
|
105
|
+
for(i = 1; i <= nanko; i++) {keys.push("array_data"+i);}
|
106
|
+
|
107
|
+
return keys.reduce(function(prev,curr){ prev[curr] = [0];return prev;}, {});
|
50
108
|
|
51
109
|
}
|
52
110
|
|
2
future
test
CHANGED
@@ -51,3 +51,11 @@
|
|
51
51
|
}
|
52
52
|
|
53
53
|
```
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
-- 将来ご覧になる方へ
|
58
|
+
|
59
|
+
特定の用途、要件があってやむなくこうしようとしているものと思われます。
|
60
|
+
|
61
|
+
配列が増やしたいなら、端的に2次元配列を作ればよいと思うので、一般論としては参考にしないでください。
|
1
ed
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
できますよ、
|
1
|
+
できますよ、typoに気をつけてください
|
2
2
|
|
3
3
|
```javascript
|
4
4
|
|