-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);
}
나는
x[x.length - 1]
에 할당
cha[cha.indexOf(x[x.length-1]) + 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' –