Create an array of characters from specified range

后端 未结 12 2179
名媛妹妹
名媛妹妹 2020-12-17 08:19

I read some code where someone did this in Ruby:

puts (\'A\'..\'Z\').to_a.join(\',\')

output:

A,B,C,D,E,F,G,H,I,J,K,L,M,N,O         


        
12条回答
  •  有刺的猬
    2020-12-17 08:56

    var chars = [].concat.apply([], Array(26))
                  .map(function(_, i) { return String.fromCharCode(i+65); })
                  .join();
    

    The .map function could be a function generator that could be used for different character sets.

    function charRange(start) {
        var base = start.charCodeAt(0);
        return function(_, i) { return String.fromCharCode(i + base); };
    }
    

    And you may also want to create a "full" Array helper.

    function fullArray(len) { return [].concat.apply([], Array(len)); }
    

    Then use them like this.

    var chars = fullArray(26).map(charRange("A"))
                             .join();
    

提交回复
热议问题