JavaScript URLSearchParams.getAll() — усі значення параметра
Метод getAll() повертає масив усіх значень параметра — на випадок, коли ключ у адресі повторюється.
Загальний опис
Це нормальна й дуже поширена штука: ?tag=css&tag=js&tag=html — так у фільтрах передають кілька обраних значень.
Якщо параметра немає взагалі, повертається порожній масив, а не null. Тому перевіряти на null не треба — досить length.
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| getAll | 49+ | 29+ | 10.1+ | 36+ | 17+ | - |
| Переглядач | ||||
|---|---|---|---|---|
| getAll | 49+ | yes | yes | 10.3+ |
Приклади
+ запропонувати свій приклад у пісочниці
Фільтр із кількома обраними значеннями.
HTML
<label><input type="checkbox" value="css"> css</label>
<label><input type="checkbox" value="js"> js</label>
<label><input type="checkbox" value="html"> html</label>
JS
const params = new URLSearchParams('?tag=css&tag=js&page=2');
console.log(params.getAll('tag')); // ['css', 'js']
console.log(params.getAll('missing')); // [] — порожній масив, не null
// відновлюємо стан фільтра з адреси
for (const tag of params.getAll('tag')) {
document.querySelector(`[value="${tag}"]`).checked = true;
}
Коментарі
Коментарів ще немає — будьте першим!