2

JavaScript言語は初めてで、次の表示を生成する関数の作成に支援が必要です。

abcdefghijklmnopqrstuvwxyz
 bcdefghijklmnopqrstuvwxyz
  cdefghijklmnopqrstuvwxyz
   defghijklmnopqrstuvwxyz

....など、ずっと

                       xyz
                        yz
                         z

私は配布物を求めているのではなく、初心者が始めるためのちょっとしたキックスタートです!リンク、ヒント、ヒント、何でも役立ちます!ありがとう!

4

5 に答える 5

3

配列とループは組み合わせると強力です。

var alphabet = "abcdefghijklmnopqrstuvwxyz".split('');
console.log(alphabet.join(''));

while (alphabet.​length > 0) {
    alphabet.shift();
    console.log(alphabet.join(''));
}​​​

編集: デクリメントされたアルファベットを左に埋め込む必要がある場合は、これを使用できます。

var alphabet = "abcdefghijklmnopqrstuvwxyz";
var letters = alphabet.split('');
var addPadding = (function (minLength) {
    return function (shortString) {
        if (shortString.length < minLength) {
            return new Array(
                minLength - shortString.length + 1
            ).join(' ') + shortString;
        }
    };
}(alphabet.length));

console.log(alphabet);
while (letters.length > 0) {
    letters.shift();
    console.log(addPadding(letters.join('')));
}

編集: これははるかに簡単な答えです:

function decrementingAlphabet () {
    var alphabet = 'abcdefghijklmnopqrstuvwxyz';

    function iterate(spaces, letters) {
        if (letters.length > 0) {
            console.log(spaces + letters);
            iterate(spaces + ' ', letters.substring(1));
        } else {
            return;
        }
    }

    iterate('', alphabet);
}
于 2012-12-06T03:29:27.227 に答える
0
(function() {
  var theENalphabet = [];
  for (var charNow = "a".charCodeAt(0); charNow <= "z".charCodeAt(0); charNow += 1) {
       theENalphabet.push(String.fromCharCode(charNow));
  }
  var isNow = 0;
  function decrAlph(startAt) {
     var alphString = "";
     for (var i = startAt; i < theENalphabet.length; i += 1) {
         alphString += theENalphabet[i];
     }
     console.log(alphString);
     isNow++;
     while (isNow < theENalphabet.length) {
         decrAlph(startAt + 1);
     }
  };
  decrAlph(0);
})();

charCode の取得は関数に抽象化できます。

var getCharCode = function(el){
    return String.prototype.charCodeAt.call(el, 0);
};
getCharCode("a"); // returns 97..
于 2015-02-03T09:50:23.117 に答える
0

これは簡単な例です。

var str = '';
for (var s=0; s < 26; ++s) {
    str = '';
    for (var i=0; i < 26 - s; ++i) {
        str += String.fromCharCode(97+s+i);
    }
    document.write(str + "<br/>");
}

http://jsfiddle.net/G5Gdsを参照

于 2012-12-06T03:27:43.013 に答える
0

文字コードでは、小文字のアルファベットは 97 以降 (a の場合は 97) にあります。このようなシリーズを印刷するには、2 つの for ループを使用する必要があります。

これがあなたのjsfiddleデモです:

var display='';
for(var i=97;i<123;i++){
    var s='';
    for(var j=i;j<123;j++){
        s+= String.fromCharCode( j );       
    }           
    display+=s;
} 
alert(display);
于 2012-12-06T03:27:47.827 に答える
0

うーん、多分これはあなたを正しい軌道に乗せるのに役立ちますか?

var str = '';

// Find out what 'a' is in ASCII
var baseLetterCode = 'a'.charCodeAt(0);

// Loop once for each letter
for (var i = 0; i < 26; ++i) {
    // Append to string
    str += String.fromCharCode(baseLetterCode + i);
}
于 2012-12-06T03:28:29.747 に答える