#javascript #web #url
#javascript #веб #url
Вопрос:
Во внешнем коде Javascript мне нужно извлечь значение из параметра location hash . Например, URL-адрес выглядит так:
https://mywebsite.com/certainpage#comment-12345
Здесь я хочу извлечь значение 12345
, которое указывает идентификатор комментария. В настоящее время я использую для этого следующий код:
const match = window.location.hash.match(/-([0-9]*)/) || [];
if (!match[1]) return;
// Use match[1]
Если есть какой-либо оптимизированный и чистый способ справиться с этим, пожалуйста, дайте мне знать.
Ответ №1:
Если это всегда #comment-NUM
, то вам даже не нужно использовать регулярное выражение.
const match = window.location.hash.split("-") || [];
Затем будут применены те же проверки. Используйте match[1]
в будущем. Причина String.split
в том, что производительность лучше, чем String.match
. Кроме того, он выглядит намного чище.
Комментарии:
1. Я также добавил свой собственный тестовый пример с вашим случаем: measurethat.net/Benchmarks/Show/10308/0/split-vs-match