JavaScript URLSearchParams.sort() — упорядкувати параметри


Метод sort() упорядковує параметри за іменем ключа — на місці, нічого не повертаючи.

автор: NagarD

Загальний опис

Виглядає як дивна дрібниця, доки не згадаєш про кеш. Адреси ?a=1&b=2 і ?b=2&a=1 ведуть на ту саму сторінку — але для кешу (і для Google) це різні адреси.

Сортування зводить їх до одного канонічного вигляду. Саме тому воно корисне при побудові ключів кешу й канонічних посилань.

Порядок значень усередині одного ключа при цьому зберігається.

автор: NagarD

Порада

Будуєш ключ кешу з адреси — відсортуй параметри. Інакше та сама сторінка потрапить у кеш кілька разів під різними ключами.

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
sort 61+ 54+ 11+ 48+ 17+ -
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
sort 61+ yes yes 11+

Приклади

+ запропонувати свій приклад у пісочниці

Канонічний вигляд адреси для кешу.

const params = new URLSearchParams('?page=2&tag=css&sort=new');

params.sort();
console.log(params.toString()); // 'page=2&sort=new&tag=css'

// ключ кешу — однаковий для будь-якого порядку параметрів
function cacheKey(href) {
    const url = new URL(href);
    url.searchParams.sort();

    return url.href;
}
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід