Set.prototype.clear() в JavaScript
Метод clear() удаляет все значения из коллекции Set. После вызова коллекция остаётся той же, но становится пустой.
Синтаксис
set.clear()
Метод не принимает аргументы. Запись Set.prototype.clear означает, что этот метод доступен всем объектам Set.
let selectedIds = new Set([10, 15, 20])
selectedIds.clear()
console.log(selectedIds.size) // 0
console.log(selectedIds) // Set(0) {}
Метод изменяет исходный Set
clear() не создаёт новую коллекцию. Он очищает тот Set, у которого был вызван.
let tags = new Set(['HTML', 'CSS'])
let sameTags = tags
tags.clear()
console.log(tags.size) // 0
console.log(sameTags.size) // 0
Это важно, если на один и тот же Set есть несколько ссылок. После очистки пустым станет именно общий объект.
Возвращаемое значение
Метод clear() возвращает undefined. Его вызывают ради действия, а не ради результата.
let viewedLessons = new Set([101, 102, 103])
let result = viewedLessons.clear()
console.log(result) // undefined
console.log(viewedLessons.size) // 0
Если нужно удалить только одно значение, для этого используется метод delete().