我怎样才能<staircase>用js写字母表



我该怎么做呢:

A - B -C - etc - Z
AA - AB - AC -AZ
BA - BB -BC - etc -BZ
CA - CB - CC - ETC -CZ
THEN the same until Z
ZA - ZB ZC -etc ZZ
AAA -AAB - AAAC
我想你能明白我的意思。我真的不知道从哪里开始,所以任何帮助都会很感激

让我们看一下这个问题的简化版本:我们只使用字母A, B和C,而不是整个字母

letters = ['A', 'B', 'C'];

为第一级"我们甚至不需要循环。使用"join"方法,我们可以将数组转换为字符串:

console.log( letters.join(" - ") );

对于第二层,我们需要一个循环来设置字母,然后连接到第二个字母。

for(first_letter of letters) {
string = letters.map(second_letter => first_letter + second_letter ).join(" - ")
console.log(string);
}

对于更高级的,我首先想到的是递归,但是我们可以以最后一关的结果为基础。从数组中获取从第i层到第i+1层,我们通过将A添加到整个楼梯的前面,然后添加B,以此类推来构建新的数组…

let output = document.querySelector('main');
let letters = ['A', 'B', 'C'];
let staircase = letters.slice(); // clone the array
console.log(`Staircase level 1`);
console.log( staircase.join(" - "));

for (let level = 2; level < 5; level++) {
let new_staircase = [];
for (let firstletter of letters) {
new_staircase.push(...staircase.map(string => firstletter + string));
}
staircase = new_staircase;
console.log(`Staircase level ${level}`);
console.log( staircase.join(" - "));
}

最新更新