teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

テキスト修正

2020/04/26 09:43

投稿

hosodaaaaa
hosodaaaaa

スコア47

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
- ![イメージ説明](165a037b9fdae1d85d81d883354d0d3c.png)
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

テキスト、タグ修正

2020/04/26 09:43

投稿

hosodaaaaa
hosodaaaaa

スコア47

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,6 @@
1
+ **Vol.1**
1
2
  ```
2
- [src]
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
+ ![イメージ説明](165a037b9fdae1d85d81d883354d0d3c.png)
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

テキスト修正

2020/04/26 07:35

投稿

hosodaaaaa
hosodaaaaa

スコア47

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
- console.log(s(members).splice( 0, numberPerTeam + ( i < moduloMembers )))
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

テキスト修正

2020/04/25 13:26

投稿

hosodaaaaa
hosodaaaaa

スコア47

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
  }