打印2个字母长度的所有组合的功能使用英文字母A-Z和数字0-9?

时间:2017-08-19 10:18:09

标签: javascript algorithm

我想在JavaScript中使用一个函数来打印所有打印所有2个字母长度的组合使用英文字母A-Z和数字0-9,生成的组合不应该以数字开头。

5 个答案:

答案 0 :(得分:1)

产生一个字符串数组,不以数字开头:



const letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split('');
const digits = "0123456789".split('');
const alphabet = letters.concat(digits);

const result = [].concat.apply([], letters.map(a => alphabet.map(b => a + b)));

console.log(result);




答案 1 :(得分:1)

您可以使用组合模式使用嵌套方法。



var temp = Array.from({ length: 36 }, (_, i) => i.toString(36).toUpperCase()),
    result = [temp.slice(10), temp]
        .reduce((a, b) => a.reduce((r, v) => r.concat(b.map(w => v + w)), []));

console.log(result);

.as-console-wrapper { max-height: 100% !important; top: 0; }




答案 2 :(得分:0)

您可以简单地遍历所有字母:

var letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var nums = "0123456789";

var result = [];

for(var letter of letters){
 for(var letter2 of letters){
  result.push( letter + letter2);
 }
 for(var num of nums){
  result.push(letter + num);
 }
}

答案 3 :(得分:0)

letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
for (var i = 26; i--;) {
    for (var j = 10; j--;) console.log(letters[i]+j);
    for (var j = 26; j--;) console.log(letters[i]+letters[j]);
}

答案 4 :(得分:0)

letters = "ZYXWVUTSRQPONMLKJIHGFEDCBA";
for (var i = 26; i--;) {    
    for (var j = 26; j--;) console.log(letters[i]+letters[j]);
}