Stu*_*ley 71
var s = ' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
Run Code Online (Sandbox Code Playgroud)
Dec*_*ler 21
我的javascript有点生疏,但是像这样:
s = '';
for( var i = 32; i <= 126; i++ )
{
s += String.fromCharCode( i );
}
Run Code Online (Sandbox Code Playgroud)
不确定范围是否正确.
编辑:
那么它应该是32到127.调整.
编辑2:
由于char 127也不是可打印字符,我们必须将其缩小到32 <= c <= 126,而不是32 <= c <= 127.
只需循环字符代码并将每个代码转换为一个字符:
var s = '';
for (var i=32; i<=127;i++) s += String.fromCharCode(i);
Run Code Online (Sandbox Code Playgroud)
只是想把它放在这里以供参考。(在我的计算机上生成大约需要 13/100 到 26/100 毫秒)。
var allAsciiPrintables = JSON.stringify((Array.from(Array(126 + 32).keys()).slice(32).map((item) => {
return String.fromCharCode(item);
})).join(''));
Run Code Online (Sandbox Code Playgroud)
分解:
var allAsciiPrintables = (function() {
/* ArrayIterator */
var result = Array(126 + 32).keys();
/* [0, 126 + 32] */
result = Array.from(result);
/* [32, 126 + 32] */
result = result.slice(32);
/* transform each item from Number to its ASCII as String. */
result = result.map((item) => {
return String.fromCharCode(item);
});
/* convert from array of each string[1] to a single string */
result = result.join('');
/* create an escaped string so you can replace this code with the string
to avoid having to calculate this on each time the program runs */
result = JSON.stringify(result);
/* return the string */
return result;
})();
Run Code Online (Sandbox Code Playgroud)
最有效的解决方案(如果您确实想在每次脚本运行时生成整个集合,可能是)(在我的计算机上生成大约需要 3/100-35/100 毫秒)。
var allAsciiPrintables = (() => {
var result = new Array(126-32);
for (var i = 32; i <= 126; ++i) {
result[i - 32] = (String.fromCharCode(i));
}
return JSON.stringify(result.join(''));
})();
Run Code Online (Sandbox Code Playgroud)
奇怪的是,这仅比直接分配字符串文字慢 3-10 倍(使用反引号告诉 javascript 避免大多数反斜杠解析)。
var x;
var t;
t = performance.now();
x = '!\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
t = performance.now() - t;
console.log(t);
Run Code Online (Sandbox Code Playgroud)
.
归档时间: |
|
查看次数: |
29489 次 |
最近记录: |