-1

理由はわかりませんが、このコードはcha[cha.indexOf(x[x.length-1]) + 1]の値を に代入していませんx[x.length - 1]。それを任意の配列に変換しようとしましたが、何もしませんでした。

var cha = "abcdefghijklmnopqrstuvwxyz" + "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "0123456789";
    var n = notch; // number to start counting from
    var x = cha[0];
    // stuff
    console.log(x);
    // generation loop
    while (n > 0) {
        if(x[x.length - 1] == cha[cha.length-1]) {
            // ^ correct logic
            x[length] = cha[0];
        } else {
            // 
            newPush = cha[cha.indexOf(x[x.length-1]) + 1];
            a = x /*.split("");
            a.pop(); <= Failed attempt
            a.push(newPush);*/
            x = a;
            //x[x.length-1] = cha[cha.indexOf(x[x.length-1]) + 1];
            //x[x.length-1] = "D";
            console.log("x[x.length - 1] = " + x[x.length - 1]);
            console.log("cha[cha.indexOf(x[x.length-1]) + 1] = " + cha[cha.indexOf(x[x.length-1]) + 1]);
        }
        n--;
        console.log(cha[cha.indexOf(x[x.length-1]) + 1]);
        console.log(x.lastIndexOf(x[x.length-1]) + 1);

        console.log("n = " + n + ", x = " + x);
    }

cha[cha.indexOf(x[x.length-1]) + 1]からに割り当てられた新しいキャラクターが欲しいですx[x.length - 1]。Chrome 開発者ツール (v23.0.1271.64) でデバッグしてきましたが、Chrome に固有のものであるとは思えません。私はおそらく値/参照の受け渡しなどを理解していませんが、助けていただければ幸いです。(可能であれば、コード サンプルを含めてください。)

4

1 に答える 1

0
var alphabet = "abcdefghijklmnopqrstuvwxyz";

prefix = oldString.slice(0, oldString.length - 1);
suffix = oldString.substr(-1, 1);
newSuffix = alphabet.charAt(alphabet.indexOf(suffix) + 1 % alphabet.length);
newString = prefix + newSuffix;
于 2012-11-22T01:46:24.757 に答える