質問編集履歴
4
テキスト修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -48,64 +48,4 @@
|
|
48
48
|
ここからどうすればよいかわからなくない、手が完全に止まってしまいました。
|
49
49
|
お力添えをしていただいてもよろしいでしょうか。よろしくお願いします。
|
50
50
|
|
51
|
-
-----
|
51
|
+
-----
|
52
|
-
**Vol.2**
|
53
|
-
```
|
54
|
-
// src
|
55
|
-
----------------------------------------------------------------------------------------
|
56
|
-
const members = ['吉田','友近','井上','石田','手塚','大宮','宇都宮','佐藤','長根','近藤','山本'];
|
57
|
-
const total = 3;
|
58
|
-
const numberPerTeam = Math.floor(members.length / total);
|
59
|
-
const moduloMembers = members.length % total;
|
60
|
-
const s = members => {
|
61
|
-
for (let i = members.length - 1; i > 0; i--) {
|
62
|
-
const j = Math.floor(Math.random() * (i + 1));
|
63
|
-
[members[i], members[j]] = [members[j], members[i]];
|
64
|
-
}
|
65
|
-
return members;
|
66
|
-
}
|
67
|
-
|
68
|
-
for (let i = 0; i < total; i++) {
|
69
|
-
const a = s(members).splice( 0, numberPerTeam + ( i < moduloMembers )).join('\n')
|
70
|
-
console.log('#' + a);
|
71
|
-
}
|
72
|
-
```
|
73
|
-
【出力結果】
|
74
|
-

|
75
|
-
|
76
|
-
上記のように期待する動作までは出力することができました。
|
77
|
-
次にGASにコードを移した際に、ここでまた期待した動作を得ることができませんでした。
|
78
|
-
出力結果は、一番最初の配列データのみ。なぜ、このような出力結果になってしまうのでしょうか。
|
79
|
-
|
80
|
-
```
|
81
|
-
// src
|
82
|
-
function doPost() {
|
83
|
-
const members = [‘吉田‘,’友近‘,’井上‘,’石田‘,’手塚‘,’大宮‘,’宇都宮‘,’佐藤‘,’長根‘,’近藤‘,’山本‘];
|
84
|
-
const total = 3;
|
85
|
-
const numberPerTeam = Math.floor(members.length / total);
|
86
|
-
const moduloMembers = members.length % total;
|
87
|
-
const s = members => {
|
88
|
-
for (let i = members.length - 1; i > 0; i--) {
|
89
|
-
const j = Math.floor(Math.random() * (i + 1));
|
90
|
-
[members[i], members[j]] = [members[j], members[i]];
|
91
|
-
}
|
92
|
-
return members;
|
93
|
-
}
|
94
|
-
|
95
|
-
for (let i = 0; i < total; i++) {
|
96
|
-
const a = s(members).splice( 0, numberPerTeam + ( i < moduloMembers )).join(‘\n’)
|
97
|
-
Logger.log(a)
|
98
|
-
return a
|
99
|
-
}
|
100
|
-
}
|
101
|
-
|
102
|
-
function doGet(request){
|
103
|
-
var output = ContentService.createTextOutput();
|
104
|
-
output.setContent(JSON.stringify(doPost())).setMimeType(ContentService.MimeType.JSON);
|
105
|
-
Logger.log(output);
|
106
|
-
return output;
|
107
|
-
}
|
108
|
-
|
109
|
-
// output
|
110
|
-
"石田\n友近\n長根\n吉田"
|
111
|
-
```
|
3
テキスト、タグ修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,5 +1,6 @@
|
|
1
|
+
**Vol.1**
|
1
2
|
```
|
2
|
-
|
3
|
+
// src
|
3
4
|
----------------------------------------------------------------------------------------
|
4
5
|
const members = ['吉田','友近','井上','石田','手塚','大宮','宇都宮','佐藤','長根','近藤','山本'];
|
5
6
|
const total = 3;
|
@@ -18,7 +19,7 @@
|
|
18
19
|
console.log(grouping);
|
19
20
|
}
|
20
21
|
|
21
|
-
output
|
22
|
+
// output
|
22
23
|
----------------------------------------------------------------------------------------
|
23
24
|
["近藤", "山本", "宇都宮", "吉田"]
|
24
25
|
["大宮", "手塚", "友近", "佐藤"]
|
@@ -45,4 +46,66 @@
|
|
45
46
|
次に、上記のように配列の一番最初(index0)にだけ#を付けて出力をしたいのですが、配列の加工の仕方を完全に理解していないので、そのやり方がわかりません。
|
46
47
|
|
47
48
|
ここからどうすればよいかわからなくない、手が完全に止まってしまいました。
|
48
|
-
お力添えをしていただいてもよろしいでしょうか。よろしくお願いします。
|
49
|
+
お力添えをしていただいてもよろしいでしょうか。よろしくお願いします。
|
50
|
+
|
51
|
+
-----
|
52
|
+
**Vol.2**
|
53
|
+
```
|
54
|
+
// src
|
55
|
+
----------------------------------------------------------------------------------------
|
56
|
+
const members = ['吉田','友近','井上','石田','手塚','大宮','宇都宮','佐藤','長根','近藤','山本'];
|
57
|
+
const total = 3;
|
58
|
+
const numberPerTeam = Math.floor(members.length / total);
|
59
|
+
const moduloMembers = members.length % total;
|
60
|
+
const s = members => {
|
61
|
+
for (let i = members.length - 1; i > 0; i--) {
|
62
|
+
const j = Math.floor(Math.random() * (i + 1));
|
63
|
+
[members[i], members[j]] = [members[j], members[i]];
|
64
|
+
}
|
65
|
+
return members;
|
66
|
+
}
|
67
|
+
|
68
|
+
for (let i = 0; i < total; i++) {
|
69
|
+
const a = s(members).splice( 0, numberPerTeam + ( i < moduloMembers )).join('\n')
|
70
|
+
console.log('#' + a);
|
71
|
+
}
|
72
|
+
```
|
73
|
+
【出力結果】
|
74
|
+

|
75
|
+
|
76
|
+
上記のように期待する動作までは出力することができました。
|
77
|
+
次にGASにコードを移した際に、ここでまた期待した動作を得ることができませんでした。
|
78
|
+
出力結果は、一番最初の配列データのみ。なぜ、このような出力結果になってしまうのでしょうか。
|
79
|
+
|
80
|
+
```
|
81
|
+
// src
|
82
|
+
function doPost() {
|
83
|
+
const members = [‘吉田‘,’友近‘,’井上‘,’石田‘,’手塚‘,’大宮‘,’宇都宮‘,’佐藤‘,’長根‘,’近藤‘,’山本‘];
|
84
|
+
const total = 3;
|
85
|
+
const numberPerTeam = Math.floor(members.length / total);
|
86
|
+
const moduloMembers = members.length % total;
|
87
|
+
const s = members => {
|
88
|
+
for (let i = members.length - 1; i > 0; i--) {
|
89
|
+
const j = Math.floor(Math.random() * (i + 1));
|
90
|
+
[members[i], members[j]] = [members[j], members[i]];
|
91
|
+
}
|
92
|
+
return members;
|
93
|
+
}
|
94
|
+
|
95
|
+
for (let i = 0; i < total; i++) {
|
96
|
+
const a = s(members).splice( 0, numberPerTeam + ( i < moduloMembers )).join(‘\n’)
|
97
|
+
Logger.log(a)
|
98
|
+
return a
|
99
|
+
}
|
100
|
+
}
|
101
|
+
|
102
|
+
function doGet(request){
|
103
|
+
var output = ContentService.createTextOutput();
|
104
|
+
output.setContent(JSON.stringify(doPost())).setMimeType(ContentService.MimeType.JSON);
|
105
|
+
Logger.log(output);
|
106
|
+
return output;
|
107
|
+
}
|
108
|
+
|
109
|
+
// output
|
110
|
+
"石田\n友近\n長根\n吉田"
|
111
|
+
```
|
2
テキスト修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -14,7 +14,8 @@
|
|
14
14
|
}
|
15
15
|
|
16
16
|
for (let i = 0; i < total; i++) {
|
17
|
-
|
17
|
+
const grouping = s(members).splice( 0, numberPerTeam + ( i < moduloMembers ));
|
18
|
+
console.log(grouping);
|
18
19
|
}
|
19
20
|
|
20
21
|
output
|
@@ -24,8 +25,7 @@
|
|
24
25
|
["井上", "長根", "石田"]
|
25
26
|
```
|
26
27
|
|
27
|
-
上記のように、ランダムで班を作成することができた
|
28
|
+
上記のように、ランダムで班を作成することができました。
|
28
|
-
この出力結果をSlack上で下記のようにしたいのです。
|
29
29
|
|
30
30
|
```
|
31
31
|
# 近藤 //リーダー
|
@@ -42,6 +42,7 @@
|
|
42
42
|
長根
|
43
43
|
石田
|
44
44
|
```
|
45
|
+
次に、上記のように配列の一番最初(index0)にだけ#を付けて出力をしたいのですが、配列の加工の仕方を完全に理解していないので、そのやり方がわかりません。
|
45
46
|
|
46
47
|
ここからどうすればよいかわからなくない、手が完全に止まってしまいました。
|
47
48
|
お力添えをしていただいてもよろしいでしょうか。よろしくお願いします。
|
1
テキスト修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
const s = members => {
|
9
9
|
for (let i = members.length - 1; i > 0; i--) {
|
10
10
|
const j = Math.floor(Math.random() * (i + 1));
|
11
|
-
[members[i], members[j]] = [members[j], members[i]];
|
11
|
+
[members[i], members[j]] = [members[j], members[i]]; //ここの記述のがイマイチ理解できていないのでわかる方教えて下さい。。
|
12
12
|
}
|
13
13
|
return members;
|
14
14
|
}
|