admin管理员组文章数量:1406139
I want to make an array containing all the letters and numbers on the keyboard (+ !, @, #, $, %, &, etc.) via code, without declaring it. Is there any way to do this in js?
I want to make an array containing all the letters and numbers on the keyboard (+ !, @, #, $, %, &, etc.) via code, without declaring it. Is there any way to do this in js?
Share Improve this question asked Feb 11, 2022 at 18:29 Matei PieleMatei Piele 6305 silver badges16 bronze badges3 Answers
Reset to default 8This will give characters that are displayable on the screen.
let characters = [];
for (let i=32; i<127; i++)
characters.push( String.fromCharCode(i) );
I like 1 liners so
const characters = [...Array(95).keys()].map(i => String.fromCharCode(i+32))
Breakdown for those interested to know whats happening:
Array(95).keys()
creates an iterator object with 95 items in it.- Because its wrapped in brackets
[]
:- The spread syntax before it (...) iterates those objects into an array.
- This results in a numbered array from 0 to 94. ie.
[0,1,2,3,...,94]
- Next you map the data from the array into the
String.fromCharCode
method.- Since we want only printable characters (starting from ascii code 32) we add 32 to each number in the source array before piping it into the fromCharCode method.
I've gotten really used to doing this for almost everything because its much faster than writing out a for loop for things. Granted it's slower than a for loop for performance (I think). Usually, I'm not writing code for performance.
There are 95 characters so you can make an array of 95 elements and map the items to the String char code that matches the index + 32
.
const characters = Array.from(Array(95), (val,i) => String.fromCharCode(i+32))
本文标签: javascriptMake an array with every character on keyboardStack Overflow
版权声明:本文标题:javascript - Make an array with every character on keyboard - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1744977869a2635629.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论