回答編集履歴
1
厳密モードにし忘れていて、varとか抜けていた。ES5はこれだから嫌なんだよ
test
CHANGED
@@ -18,6 +18,8 @@
|
|
18
18
|
|
19
19
|
```JavaScript
|
20
20
|
|
21
|
+
"use strict";
|
22
|
+
|
21
23
|
function stringToCharCodeList(str) {
|
22
24
|
|
23
25
|
return Array.prototype.map.call(str, function(c) {
|
@@ -72,7 +74,7 @@
|
|
72
74
|
|
73
75
|
for (var i = 0, len = list.length; i < len; i += sliceSize) {
|
74
76
|
|
75
|
-
slicedList = list.slice(i, i + sliceSize);
|
77
|
+
var slicedList = list.slice(i, i + sliceSize);
|
76
78
|
|
77
79
|
str += String.fromCharCode.apply(null, slicedList);
|
78
80
|
|
@@ -86,15 +88,15 @@
|
|
86
88
|
|
87
89
|
function checkConvert(str) {
|
88
90
|
|
89
|
-
list = stringToCharCodeList(str);
|
91
|
+
var list = stringToCharCodeList(str);
|
90
|
-
|
92
|
+
|
91
|
-
convertedStr = charCodeListToString(list);
|
93
|
+
var convertedStr = charCodeListToString(list);
|
92
|
-
|
94
|
+
|
93
|
-
splitConvertedStr = charCodeListToStringSplit(list);
|
95
|
+
var splitConvertedStr = charCodeListToStringSplit(list);
|
94
|
-
|
96
|
+
|
95
|
-
splitForConvertedStr = charCodeListToStringSplitFor(list);
|
97
|
+
var splitForConvertedStr = charCodeListToStringSplitFor(list);
|
96
|
-
|
98
|
+
|
97
|
-
sliceConvertedStr = charCodeListToStringSlice(list, 8);
|
99
|
+
var sliceConvertedStr = charCodeListToStringSlice(list, 8);
|
98
100
|
|
99
101
|
console.log(str +
|
100
102
|
|
@@ -134,6 +136,8 @@
|
|
134
136
|
|
135
137
|
```
|
136
138
|
|
139
|
+
"use strict";
|
140
|
+
|
137
141
|
var Benchmark = require('benchmark')
|
138
142
|
|
139
143
|
|
@@ -180,7 +184,7 @@
|
|
180
184
|
|
181
185
|
for (var i = 0, len = list.length; i < len; i += sliceSize) {
|
182
186
|
|
183
|
-
slicedList = list.slice(i, i + sliceSize);
|
187
|
+
var slicedList = list.slice(i, i + sliceSize);
|
184
188
|
|
185
189
|
str += String.fromCharCode.apply(null, slicedList);
|
186
190
|
|
@@ -294,27 +298,27 @@
|
|
294
298
|
|
295
299
|
```
|
296
300
|
|
297
|
-
Bulk x
|
301
|
+
Bulk x 7,640 ops/sec ±3.31% (79 runs sampled)
|
298
|
-
|
302
|
+
|
299
|
-
Split x 50
|
303
|
+
Split x 505 ops/sec ±2.49% (76 runs sampled)
|
300
|
-
|
304
|
+
|
301
|
-
Split For x
|
305
|
+
Split For x 502 ops/sec ±2.55% (75 runs sampled)
|
302
|
-
|
306
|
+
|
303
|
-
Slice 1 x 9
|
307
|
+
Slice 1 x 119 ops/sec ±2.77% (65 runs sampled)
|
304
|
-
|
308
|
+
|
305
|
-
Slice 8 x
|
309
|
+
Slice 8 x 740 ops/sec ±2.92% (76 runs sampled)
|
306
|
-
|
310
|
+
|
307
|
-
Slice 64 x 2,
|
311
|
+
Slice 64 x 2,301 ops/sec ±2.49% (79 runs sampled)
|
308
|
-
|
312
|
+
|
309
|
-
Slice 256 x 3,1
|
313
|
+
Slice 256 x 3,166 ops/sec ±2.06% (80 runs sampled)
|
310
|
-
|
314
|
+
|
311
|
-
Slice 1024 x 3,4
|
315
|
+
Slice 1024 x 3,461 ops/sec ±2.14% (80 runs sampled)
|
312
|
-
|
316
|
+
|
313
|
-
Slice 4096 x 3,5
|
317
|
+
Slice 4096 x 3,455 ops/sec ±2.13% (79 runs sampled)
|
314
|
-
|
318
|
+
|
315
|
-
Slice 16384 x 3,
|
319
|
+
Slice 16384 x 3,392 ops/sec ±2.57% (77 runs sampled)
|
316
|
-
|
320
|
+
|
317
|
-
Slice 32767 x 3,
|
321
|
+
Slice 32767 x 3,398 ops/sec ±1.97% (78 runs sampled)
|
318
322
|
|
319
323
|
```
|
320
324
|
|