JavaScript URLSearchParams: append или set параметра

Категория: JavaScript · Язык: JavaScript · Обновлено:

URLSearchParams.append добавляет ещё одно значение параметра, а set заменяет существующие значения этим ключом. Разница важна для фильтров, где допускаются повторяющиеся параметры, и для обычных одиночных настроек.

Рабочий пример

JavaScript
const params = new URLSearchParams('tag=js&tag=css&page=1');
params.append('tag', 'sql');
params.set('page', '2');
console.log(params.toString()); // tag=js&tag=css&page=2&tag=sql

getAll('tag') вернёт три значения. set('page', ...) оставляет одно значение page и удаляет возможные дубликаты этого ключа.

Частый вопрос

Как получить все повторяющиеся значения?

Вызовите params.getAll('tag'). Метод get('tag') вернёт только первое значение.