2014-11-04 3 views
5

vertices이라는 배열을 정의하고 채 웁니다. 출력을 자바 스크립트 콘솔에 다음과 같이 인쇄 할 수 있습니다.문자열 배열의 문자를 바꿉니다.

["v 2.11733 0.0204144 1.0852", "v 2.12303 0.0131256 1.08902", "v 2.12307 0.0131326 1.10733" ...etc. ] 

그러나 각 요소에서 'v'문자를 제거하고 싶습니다. I는 아래 .replace() 함수를 사용하여이를 시도한 다음 'V의 여전히 존재하여

var x; 
for(x = 0; x < 10; x++) 
{ 
    vertices[x].replace('v ', ''); 
} 

코드 후 콘솔 배열을 인쇄하면 I가 이전과 동일한 출력을 참조. 누구든지이 문제를 해결할 수있는 방법을 알려주시겠습니까?

vertices[x] = vertices[x].replace('v ', ''); 
+0

문자열을 첫 번째 매개 변수로 사용하여 '바꾸기'를 호출하면 첫 번째 인스턴스 만 바꿉니다. 이 시나리오에서는 괜찮을 것으로 보이지만, 미래에, "모두 바꾸기"를 원한다면, 첫 번째 것은'someString = someString.replace (/ old/g, "new");'대개 "모두 바꾸기"를 원하기 때문에'replace '를 호출 할 때 항상 정규 표현식을 사용하는 습관을 만들었습니다. –

답변

9

문자열, 불변 끈.

+0

감사합니다! 나는 그것을 해결 했어야했다. – petehallw

4

반환 값을 대체하기 때문에

vertices[x]=vertices[x].replace('v ', ''); 

해야하고, 초기을 변경하지 않습니다 : 당신은 그냥 자신의 가치를 다시 할당해야하므로

0
vertices[x] = vertices[x].replace('v ', ''); 
관련 문제