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

回答編集履歴

6

chousei

2019/06/12 09:38

投稿

yambejp
yambejp

スコア117892

answer CHANGED
@@ -18,7 +18,7 @@
18
18
  }
19
19
  return [];
20
20
  };
21
- console.log(range(5.5));//引数が1つの場合は、1から始まりnまでインクリメントした値
21
+ console.log(range(5.5));//引数が1つの場合は、1から始まりarg1までインクリメントした値
22
22
  console.log(range(2,5));//引数が2つの場合は、arg1からarg2までインクリメントした値
23
23
  console.log(range(2,10,3));//引数が3つの場合は、arg1からarg2までarg3を加算していった値
24
24
  console.log(range(5,5));//arg1とarg2は同値でも可

5

chousei

2019/06/12 09:38

投稿

yambejp
yambejp

スコア117892

answer CHANGED
@@ -8,17 +8,7 @@
8
8
  ```
9
9
  # 追記
10
10
  汎用的な処理
11
- iが0から4まで動くのですから
12
- array.push(i+1);
13
-
14
- ざっくりこれでいけます
15
11
  ```javascript
16
- const a=Array(5).fill(null).map((x,y)=>y+1);
17
- console.log(a);
18
- ```
19
- # 追記
20
- 汎用的な処理
21
- ```javascript
22
12
  const range=(...args)=>{
23
13
  const start =!args[1]?1:args[0];
24
14
  const end =!args[1]?args[0]:args[1];

4

chousei

2019/06/12 09:38

投稿

yambejp
yambejp

スコア117892

answer CHANGED
@@ -8,7 +8,6 @@
8
8
  ```
9
9
  # 追記
10
10
  汎用的な処理
11
- ```javascript
12
11
  iが0から4まで動くのですから
13
12
  array.push(i+1);
14
13
 

3

chousei

2019/06/12 09:37

投稿

yambejp
yambejp

スコア117892

answer CHANGED
@@ -9,6 +9,17 @@
9
9
  # 追記
10
10
  汎用的な処理
11
11
  ```javascript
12
+ iが0から4まで動くのですから
13
+ array.push(i+1);
14
+
15
+ ざっくりこれでいけます
16
+ ```javascript
17
+ const a=Array(5).fill(null).map((x,y)=>y+1);
18
+ console.log(a);
19
+ ```
20
+ # 追記
21
+ 汎用的な処理
22
+ ```javascript
12
23
  const range=(...args)=>{
13
24
  const start =!args[1]?1:args[0];
14
25
  const end =!args[1]?args[0]:args[1];
@@ -16,12 +27,13 @@
16
27
  if(start<=end && step>0 || start>end && step<0){
17
28
  return Array(parseInt((end-start)/step)+1).fill(null).map((x,y)=>start+y*step);;
18
29
  }
19
- return null;
30
+ return [];
20
31
  };
21
- console.log(range(5));
32
+ console.log(range(5.5));//引数が1つの場合は、1から始まりnまでインクリメントした値
33
+ console.log(range(2,5));//引数が2つの場合は、arg1からarg2までインクリメントした値
34
+ console.log(range(2,10,3));//引数が3つの場合は、arg1からarg2までarg3を加算していった値
22
- console.log(range(2,5));
35
+ console.log(range(5,5));//arg1とarg2は同値でも可
23
- console.log(range(2,10,3));
24
- console.log(range(10,2,-3));
25
- console.log(range(2,-5,-1));
26
- console.log(range(2,5,0.3));//浮動少数点処理の誤差が出ます
36
+ console.log(range(2,5,0.3));//arg3は少数でも可
37
+ console.log(range(10,2,-3));//arg1>arg2の場合arg3はマイナスでも可
38
+ console.log(range(-2,-5,-1));//引数はそれぞれマイナスでも可(整合性が取れれば)
27
39
  ```

2

てきとう

2019/06/12 09:36

投稿

yambejp
yambejp

スコア117892

answer CHANGED
@@ -1,8 +1,27 @@
1
1
  iが0から4まで動くのですから
2
2
  array.push(i+1);
3
3
 
4
- これでいけます
4
+ ざっくりこれでいけます
5
5
  ```javascript
6
6
  const a=Array(5).fill(null).map((x,y)=>y+1);
7
7
  console.log(a);
8
+ ```
9
+ # 追記
10
+ 汎用的な処理
11
+ ```javascript
12
+ const range=(...args)=>{
13
+ const start =!args[1]?1:args[0];
14
+ const end =!args[1]?args[0]:args[1];
15
+ const step =!args[2]?1:args[2];
16
+ if(start<=end && step>0 || start>end && step<0){
17
+ return Array(parseInt((end-start)/step)+1).fill(null).map((x,y)=>start+y*step);;
18
+ }
19
+ return null;
20
+ };
21
+ console.log(range(5));
22
+ console.log(range(2,5));
23
+ console.log(range(2,10,3));
24
+ console.log(range(10,2,-3));
25
+ console.log(range(2,-5,-1));
26
+ console.log(range(2,5,0.3));//浮動少数点処理の誤差が出ます
8
27
  ```

1

追記

2019/06/12 09:27

投稿

yambejp
yambejp

スコア117892

answer CHANGED
@@ -1,2 +1,8 @@
1
1
  iが0から4まで動くのですから
2
- array.push(i+1);
2
+ array.push(i+1);
3
+
4
+ これでいけます
5
+ ```javascript
6
+ const a=Array(5).fill(null).map((x,y)=>y+1);
7
+ console.log(a);
8
+ ```