2010-07-08 2 views
3

PHP에서, 그것은 매우 간단합니다. array_shift ($ string)?쉬프트 js 문자열 한 문자

, 나는 약간 똑같이 간단한 해결책 : 그러나

가 확신하지 않으면, 자바 스크립트에서 같은 일을 달성 할 수있는 방법은 무엇입니까?

내 구체적인 예로는 특정 AJAX 페이지를 동적으로로드하기 위해 주소 표시 줄에서 window.location.hash를 가져 오는 것입니다. 해시가 "2"인 경우 즉 http://foo.bar.com#2 ...

var hash = window.location.hash; // hash would be "#2" 

내가 이상적으로 그렇게 간단한 "2"기능으로 공급됩니다의 # 벗고 싶습니다.

감사합니다.

답변

11
hash = hash.substr(1); 

이렇게하면 hash의 첫 번째 문자가 제거되고 나머지는 모두 반환됩니다. 이것은 당신이 어쨌든 오히려 array_shift보다는 PHP에서 문자열의 하위 문자열을 얻기 위해 사용되어야 하는지를 아마 인 PHP substr 기능, 기능적으로 실제로 유사하다 (난 array_shift 문자열과 함께 일하는 것이 몰랐다!)

+1

... 그리고'array = array.slice (1)'는 해시처럼 단지 하나의 문자 일 뿐이며 curiou ... – gnarf

+0

두 분께 건배 : 내가 아는 한 "문자열"은 실제 유형이 아니라 오히려 문자 배열입니다. 우리 모두가 길을 배웠습니다. ?) 언제 다시. $ string [x]를 사용하여 문자열의 문자를 가리킬 수 있으므로 이론적으로는 작동해야합니다. –

+1

방금 ​​해보았고'array_shift'는 실제로 PHP에서 문자열에 대해 작동하지 않습니다. 이는 나에게 의미가 있습니다. @ 줄리아 : C 및 C++의 문자열은 사실이지만 다른 대부분의 언어 (Java, C#, PHP, Python 등)에서 문자열은 배열과 관련없는 자체 데이터 형식입니다. –

1

로를 당신은 의심의 여지가 Array prototypeshift() 기능이 있습니다.

문자열은 그래서 Stringshift() 전화 "array-like objects"이다, Array의하지 않습니다, 그것은해야합니다 split() 첫째 :

var char = str.split("").shift(); 
0
우리가 가정되어 주어진 배열로 변환에 대한 벤의 관점에

빌딩,

var hash = window.location.split("").pop();