2012-03-04 4 views
0

누구나이 방법을 더 좋게 생각할 수 있습니까?여러 번 대체하는 더 좋은 방법은 무엇입니까?

+0

항상 넣어 수 :

Live example

또는 일반적인 경우 (도시 문자열의 집합에 국한되지 않음)

var type = event.type.replace(/page|init|before|show|hide/g, function(m) { return m.substring(0,1).toUpperCase() + m.substring(1); }); 
그것들을 foreach를 가진 배열로 유지하기 쉽도록 만들었지 만, 그것이 당신이 찾고있는 것인지 확실하지 않다. – Ben

+1

이것은 jQuery와는 아무런 관련이 없다. –

+0

이 문제가 무엇입니까? 나는 각각의'replace' 콜을 별도의 라인에 넣겠지만 괜찮아 보인다. – zch

답변

7

당신은 두 번째 인수 (= 순수 자바 스크립트)와 같은 기능을 전달 .replace()와 정규식을 사용할 수 있습니다 : 당신이 무엇

var type = event.type.replace(/page|init|before|show|hide/, function(s) { 
    return s.charAt(0).toUpperCase() + s.slice(1); 
}); 
2

이 괜찮습니다. 그것을 할 수있는 또 다른 방법이있다 :

var type = event.type.replace(/(\S)(\S+)/g, function(m, c1, c2) { 
    return c1.toUpperCase() + (c2 ? c2 : ""); 
}); 

Live example

관련 문제