-1
我不知道爲什麼,但此代碼未將cha[cha.indexOf(x[x.length-1]) + 1]
的值分配給x[x.length - 1]
。我試圖將其轉換爲任何數組,但沒有做任何事情。JavaScript將一個字符串的索引值分配給另一個索引值
var cha = "abcdefghijklmnopqrstuvwxyz" + "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "";
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的。我可能不理解價值/參考傳遞或什麼,但任何幫助表示讚賞。 (如果可以的話,請附上代碼示例。)
「x」以長度爲1的字符串開頭。爲什麼要將它當作數組對待? **字符串不是數組。**字符串甚至不可變。你真的想用這個代碼來完成什麼?此外,[不要使用括號來索引字符串;使用'charAt()'](http://stackoverflow.com/q/5943726/139010)。 –
@MattBall我明白你在說什麼,我只是總是把它括起來,但我會用charAt()來試試它。我試圖創建一個字符串,其中'x =「abc」',新字符串將是'「abd」'例如。我只是爲了方便而覆蓋'x',但它可以做成不同的字符串。以這種方式創建新字符串的任何方式(示例)? – Andrejewski
覆蓋x:'x ='abc'; x = x.substring(0,x.length-1)+'d'' –