Кратко
Секция статьи "Кратко"Возвращает итератор для обхода значений коллекции Set
в порядке добавления значений в коллекцию.
Обычно метод keys
возвращает итератор для обхода ключей коллекции, но так как коллекция Set
не имеет ключей, то для поддержки универсального интерфейса итератор возвращает значения.
Метод используется редко, правильнее использовать метод values
, так как он даёт лучшую читаемость коду.
Как пишется
Секция статьи "Как пишется"Метод keys
вызывается без аргументов. Вызов метода возвращает итератор, который содержит значения коллекции в порядке их добавления от старых к новым:
const watchList = new Set(['Сияние', 'Интерстеллар', 'Казино'])const keys = watchList.keys()console.log(keys)// Set Iterator
const watchList = new Set(['Сияние', 'Интерстеллар', 'Казино']) const keys = watchList.keys() console.log(keys) // Set Iterator
Итератор можно обойти с помощью for
:
for (const key of keys) { console.log(key)}// 'Сияние'// 'Интерстеллар'// 'Казино'
for (const key of keys) { console.log(key) } // 'Сияние' // 'Интерстеллар' // 'Казино'
Итератор можно превратить в массив с помощью spread-оператора:
const movies = [...pairs]console.log(movies)// ['Сияние', 'Интерстеллар', 'Казино']
const movies = [...pairs] console.log(movies) // ['Сияние', 'Интерстеллар', 'Казино']
На практике
Секция статьи "На практике"🛠 Метод бесполезный, обойти Set
можно с помощью метода forEach
или for
:
const watchList = new Set(['Сияние', 'Интерстеллар', 'Казино'])for (const movie of watchList) { console.log(movie)}// 'Сияние'// 'Интерстеллар'// 'Казино'
const watchList = new Set(['Сияние', 'Интерстеллар', 'Казино']) for (const movie of watchList) { console.log(movie) } // 'Сияние' // 'Интерстеллар' // 'Казино'
Если нужно превратить Set
в массив, то достаточно применить spread-оператор напрямую:
const watchList = new Set(['Сияние', 'Интерстеллар', 'Казино'])const array = [...watchList]console.log(array)// ['Сияние', 'Интерстеллар', 'Казино']
const watchList = new Set(['Сияние', 'Интерстеллар', 'Казино']) const array = [...watchList] console.log(array) // ['Сияние', 'Интерстеллар', 'Казино']