【问题标题】:How do I move a char up in the Alphabet?如何在字母表中向上移动一个字符?
【发布时间】:2020-03-17 02:30:34
【问题描述】:

我正在尝试将 var 字母从 A 移动到 BC...等等。我知道这就是你在 java 中的做法,但你如何在 javascript 中做到这一点?

var letter = 'A';
letter++;


function drawOrganism() {
    var letter = "A"; //Initial Character
    var Organisms = 0;
    for (var col = 0; col <= organismArray.length - 1; col++) {
        for (var row = 0; row <= organismArray[col].length - 1; row++) {
            if (organismArray[col][row] == "*") {
                organismArray = howManyOrganisms(col, row, letter);
                letter++; // Moves up a Character
                Organisms++;
            }
        }
    }
    var printorganism = "";
    for (var i = 0; i <= 2; i++) {
        for (var j = 0; j <= 2; j++) {
            printorganism += organismArray[i][j];
        }
        printorganism += "<br>";
    }
    document.getElementById("drawOrganism1").innerHTML = printorganism;
}

【问题讨论】:

标签: javascript


【解决方案1】:

这可能会有所帮助,您可以这样做。

let letter = 65;
console.log(String.fromCharCode(letter)); // A
console.log(String.fromCharCode(letter + 1)); // B

另外,如果你想像 Excel 样式那样递增,你可以这样做:

// 1 -> A, 2 -> B, 26 -> Z, 27 -> AA, 28 -> AB
toExcelXCoordinate(index: number): string {
    let coordinate = '';
    while (index > 0) {
      if (index % 26 === 0) {
        coordinate = 'Z' + coordinate;
        index = (index - 26) / 26;
      } else {
        coordinate = String.fromCharCode((index % 26) + 'A'.charCodeAt(0) - 1) + coordinate;
        index = (index - index % 26) / 26;
      }
    }

    return coordinate;
}

对于 Ascii 代码,请查看 ASCII 表:http://www.asciitable.com/

【讨论】:

  • 65 -> 'A'.charCodeAt(0)
  • Z -> A 怎么样?
  • 如果当前字符不是字母怎么办?
  • 当前角色是什么意思?您正在增加一个数字。 ASCII 以外的其他内容是另一个主题
  • 对于 Z -> A: if (letter > 90) letter = 65;
猜你喜欢
  • 1970-01-01
  • 2016-01-10
  • 2020-08-11
  • 2016-01-01
  • 2019-09-29
  • 1970-01-01
  • 1970-01-01
  • 2021-06-15
  • 2011-09-20
相关资源
最近更新 更多