Shift js строка на один символ - PullRequest
4 голосов
/ 08 июля 2010

В PHP это довольно просто, я бы предположил, array_shift ($ string)?

Если нет, я уверен, что есть такое же простое решение:)

ОднакоЕсть ли способ добиться того же в javascript?

Мой конкретный пример - извлечение window.location.hash из адресной строки для динамической загрузки конкретной страницы AJAX.Если бы хэш был "2", то есть http://foo.bar.com # 2 ...

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

В идеале я бы хотел снять #, так что простое "2" получитФид в функцию.

Спасибо!

Ответы [ 3 ]

11 голосов
/ 08 июля 2010
hash = hash.substr(1);

Это снимет первый символ hash и вернет все остальное.По сути это похоже на функцию PHP substr , которая, вероятно, должна использоваться для получения подстрок строк в PHP, а не array_shift (я даже не знал, что array_shiftработа со строками!)

2 голосов
/ 23 марта 2016

Как вы и подозревали, на прототипе Array также есть функция shift().

Строки не Array с, они "массивоподобные объекты" , поэтому для вызова shift() для String, сначала должно быть split():

var char = str.split("").shift();
0 голосов
/ 17 мая 2016

Опираясь на точку зрения Бена относительно преобразования в Массив, учитывая, что мы предполагаем, что в качестве хэша есть только один символ, и что это последний символ, мы должны просто использовать:

var hash = window.location.split("").pop();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...