回答編集履歴

4

「カウントアップ」節を追記

2018/04/06 08:22

投稿

think49
think49

スコア18166

test CHANGED
@@ -96,12 +96,50 @@
96
96
 
97
97
 
98
98
 
99
+ ### カウントアップ
100
+
101
+
102
+
103
+ > 1000円
104
+
105
+ >
106
+
107
+ > ↓ カウントアップ
108
+
109
+ >
110
+
111
+ > 1万0000円
112
+
113
+ >
114
+
115
+ > ↓ カウントアップ
116
+
117
+ >
118
+
119
+ > 1億0000万0000円
120
+
121
+
122
+
123
+ 「1000 -> 10000 -> 100000000」のように [カウントアップ] していくそうですが、1回目(10倍)と2回目(10000倍)で「かける数」が異なります。
124
+
125
+ 言葉通りに解釈すると、「11000 -> 100010000」になりますが、それでよいのでしょうか。
126
+
127
+ 「1円」を [カウントアップ] したら何倍されるのでしょう。
128
+
129
+
130
+
131
+ コードを書く前に動作手順を見直す必要がありそうです。
132
+
133
+
134
+
99
135
  ### 更新履歴
100
136
 
101
137
 
102
138
 
103
139
  - 2018/04/05 23:55 outerArray.length - innerArray.length > 1 の時にnullが代入される不具合を修正
104
140
 
141
+ - 2018/04/06 17:22 「カウントアップ」節を追記
142
+
105
143
 
106
144
 
107
145
  Re: hanasan さん

3

typo修正

2018/04/06 08:22

投稿

think49
think49

スコア18166

test CHANGED
@@ -100,7 +100,7 @@
100
100
 
101
101
 
102
102
 
103
- - 2018/04/05 23:55 outerArray.length - innerArray > 1 の時にnullが代入される不具合を修正
103
+ - 2018/04/05 23:55 outerArray.length - innerArray.length > 1 の時にnullが代入される不具合を修正
104
104
 
105
105
 
106
106
 

2

outerArray.length - innerArray > 1 の時にnullが代入される不具合を修正

2018/04/05 14:57

投稿

think49
think49

スコア18166

test CHANGED
@@ -24,11 +24,15 @@
24
24
 
25
25
  function joinArray (outerArray, innerArray) {
26
26
 
27
- var results = [];
27
+ var results = [],
28
+
29
+ outerLen = outerArray.length,
30
+
31
+ innerLen = innerArray.length;
28
32
 
29
33
 
30
34
 
31
- for (var i = 0, len = outerArray.length - 1; i < len; ++i) {
35
+ for (var i = 0, len = Math.min(outerLen - 1, innerLen); i < len; ++i) {
32
36
 
33
37
  results.push(outerArray[i], innerArray[i]);
34
38
 
@@ -36,7 +40,11 @@
36
40
 
37
41
 
38
42
 
43
+ while (i < outerLen) {
44
+
39
- results.push(outerArray[i]);
45
+ results.push(outerArray[i++]);
46
+
47
+ }
40
48
 
41
49
 
42
50
 
@@ -48,7 +56,7 @@
48
56
 
49
57
  function sample (string, innerArray) {
50
58
 
51
- return joinArray(String(string).match(/[\s\S]{3}|[\s\S]{1,2}$/g), innerArray);
59
+ return joinArray(String(string).match(/[\s\S]{3}|[\s\S]{1,2}$|^$/g), innerArray);
52
60
 
53
61
  }
54
62
 
@@ -59,6 +67,10 @@
59
67
  console.log(JSON.stringify(sample('00000000', ['hoge', 'foo']))); // ["000","hoge","000","foo","00"]
60
68
 
61
69
  console.log(JSON.stringify(sample('0000000', ['hoge', 'foo']))); // ["000","hoge","000","foo","0"]
70
+
71
+ console.log(JSON.stringify(sample('0000000', ['hoge']))); // ["000","hoge","000","0"]
72
+
73
+ console.log(JSON.stringify(sample('000', ['hoge']))); // ["000"]
62
74
 
63
75
  console.log(JSON.stringify(sample('000', ['hoge', 'foo']))); // ["000"]
64
76
 
@@ -84,4 +96,12 @@
84
96
 
85
97
 
86
98
 
99
+ ### 更新履歴
100
+
101
+
102
+
103
+ - 2018/04/05 23:55 outerArray.length - innerArray > 1 の時にnullが代入される不具合を修正
104
+
105
+
106
+
87
107
  Re: hanasan さん

1

> jqueryでn文字目の正規表現

2018/04/05 14:56

投稿

think49
think49

スコア18166

test CHANGED
@@ -1,3 +1,15 @@
1
+ ### jQuery
2
+
3
+
4
+
5
+ > jqueryでn文字目の正規表現
6
+
7
+
8
+
9
+ 配列、文字列操作はjQueryの得意分野ではないので、jQueryを使っても楽に書けないと思います。
10
+
11
+
12
+
1
13
  ### コード
2
14
 
3
15