如何在jQuery中生成一个字母数组?
在Ruby中我可以做('a'..'z').to_a
并得到['a', 'b', 'c', 'd', ... 'z']
。
jQuery或Javascript提供类似的构造吗?
如果您需要它,您可以轻松地为您执行此function
function genCharArray(charA, charZ) { var a = [], i = charA.charCodeAt(0), j = charZ.charCodeAt(0); for (; i <= j; ++i) { a.push(String.fromCharCode(i)); } return a; } genCharArray('a', 'z'); // ["a", ..., "z"]
我个人认为最好的是:
alphabet = 'abcdefghijklmnopqrstuvwxyz'.split('');
简洁,有效,清晰,简单!
编辑:我已经决定,因为我的答案得到了相当多的关注,添加了选择特定字母范围的function。
function to_a(c1 = 'a', c2 = 'z') { a = 'abcdefghijklmnopqrstuvwxyz'.split(''); return (a.slice(a.indexOf(c1), a.indexOf(c2) + 1)); }
new Array( 26 ).fill( 1 ).map( ( _, i ) => String.fromCharCode( 65 + i ) );
使用97而不是65来获取小写字母。
如果有人来这里寻找他们可以硬编码的东西,你可以去:
["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]
通过使用ES6扩展运算符,您可以执行以下操作:
let alphabet = [...Array(26).keys()].map(i => String.fromCharCode(i + 97));
没有Javascript或Jquery不提供这样的东西。 你必须创建自己的数组。
你可以尝试这样:
var alpha = ["a","b","c",....];
或者更好的尝试这样:
var index = 97; $("#parent .number").each(function(i) { $(this).html(String.fromCharCode(index++)); });
DEMO