Shift js string一个字符

Jul*_*Lam 4 javascript hash

在PHP中,它很简单,我假设,array_shift($ string)?

如果没有,我相信有一些同样简单的解决方案:)

但是,有没有办法在javascript中实现相同的功能?

我的具体示例是从地址栏中提取window.location.hash以动态加载特定的AJAX页面.如果哈希是"2",即http://foo.bar.com#2 ......

var hash = window.location.hash; // hash would be "#2"
Run Code Online (Sandbox Code Playgroud)

理想情况下我喜欢关闭#,所以一个简单的"2"被输入到函数中.

谢谢!

Dea*_*ing 11

hash = hash.substr(1);
Run Code Online (Sandbox Code Playgroud)

这将取消第一个角色hash并返回其他所有内容.这实际上与PHP substr函数的功能类似,这可能是你应该用来获取PHP中字符串的子串而不是array_shift反正(我甚至不知道它array_shift可以用于字符串!)

  • 使用“substring”而不是“substr”。前者是标准化的。 (2认同)

Ben*_*Ben 5

正如您所怀疑的,原型上还有一个shift()函数ArrayMDN)。

字符串不是Arrays,它们是“类似数组的对象”,因此要调用shift()a String,它必须是split()第一个:

var arr = str.split("");
var char = arr.shift();
var originalString = arr.join("");
Run Code Online (Sandbox Code Playgroud)