Кратко
СкопированоВозвращает итератор для обхода значений коллекции 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) } // 'Сияние' // 'Интерстеллар' // 'Казино'
Итератор можно превратить в массив с помощью спред-синтаксиса:
const movies = [...keys]console.log(movies)// ['Сияние', 'Интерстеллар', 'Казино']
const movies = [...keys] console.log(movies) // ['Сияние', 'Интерстеллар', 'Казино']
На практике
Скопированосоветует Скопировано
🛠 Метод бесполезный, обойти Set
можно с помощью for
или 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
в массив, то достаточно применить спред-синтаксис напрямую:
const watchList = new Set(['Сияние', 'Интерстеллар', 'Казино'])const array = [...watchList]console.log(array)// ['Сияние', 'Интерстеллар', 'Казино']
const watchList = new Set(['Сияние', 'Интерстеллар', 'Казино']) const array = [...watchList] console.log(array) // ['Сияние', 'Интерстеллар', 'Казино']