Учебник по JS

ГЛАВНАЯ JS Введение JS Куда Вывод JS Заявления JS JS-синтаксис JS-комментарии JS-переменные JS Пусть Константа JS JS-операторы JS-арифметика Назначение JS JS-типы данных JS-функции JS-объекты JS-события JS-строки Строковые методы JS Поиск строки JS Шаблоны строк JS JS-номера Методы номеров JS JS-массивы Методы массива JS Сортировка массива JS Итерация массива JS Константа массива JS JS-даты Форматы даты JS Методы получения даты JS Методы установки даты JS JS-математика JS Случайный JS Булевы значения Сравнение JS JS-условия JS-переключатель JS цикл для Цикл JS для входа Цикл JS для Цикл JS во время Перерыв JS JS-итерации JS-наборы JS-карты JS Typeof Преобразование типов JS JS побитовый JS регулярное выражение JS-ошибки Область JS JS-подъем Строгий режим JS JS это ключевое слово Функция стрелки JS JS-классы JS JSON JS-отладка Руководство по стилю JS Лучшие практики JS JS-ошибки JS-производительность Зарезервированные слова JS

JS-версии

JS-версии JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE/пограничный История JS

JS-объекты

Определения объектов Свойства объекта Методы объекта Отображение объекта Средства доступа к объектам Конструкторы объектов Прототипы объектов Итерации объектов Наборы объектов Карты объектов Ссылка на объект

JS-функции

Определения функций Параметры функции Вызов функции Вызов функции Функция Применить Закрытие функций

JS-классы

Введение в класс Наследование классов Статический класс

JS асинхронный

Обратные вызовы JS JS асинхронный JS-обещания JS асинхронный/ожидание

JS HTML DOM

Дом Введение DOM-методы Документ DOM DOM-элементы DOM HTML DOM-формы ДОМ CSS DOM-анимации События ДОМ Слушатель событий DOM DOM-навигация DOM-узлы Коллекции DOM Списки узлов DOM

Спецификация браузера JS

JS-окно JS-экран Местоположение JS История JS JS-навигатор Всплывающее оповещение JS JS Тайминг JS-куки

JS-веб-API

Введение в веб-API API веб-форм API истории веб-поиска API веб-хранилища API веб-работника API веб-выборки API веб-геолокации

JS АЯКС

Введение в АЯКС AJAX XMLHttp АЯКС-запрос AJAX-ответ XML-файл AJAX АЯКС PHP АЯКС АСП База данных AJAX AJAX-приложения Примеры AJAX

JS JSON

Введение в JSON Синтаксис JSON JSON против XML Типы данных JSON Анализ JSON Строковая JSON JSON-объекты JSON-массивы JSON-сервер JSON PHP JSON HTML JSON JSONP

JS против JQuery

Селекторы jQuery JQuery HTML jQuery CSS JQuery DOM

JS-графика

JS-графика JS Холст JS сюжет JS Chart.js JS Google Диаграмма JS D3.js

JS-примеры

JS-примеры JS HTML DOM JS HTML-ввод HTML-объекты JS HTML-события JS JS-браузер JS-редактор JS-упражнения JS-викторина JS-сертификат

JS-ссылки

Объекты JavaScript HTML DOM-объекты


Наборы JavaScript

Набор JavaScript — это набор уникальных значений.

Каждое значение может встречаться в наборе только один раз.

Набор может содержать любое значение любого типа данных.

Установить методы

МетодОписание
новый набор()Создает новый набор
добавлять()Добавляет новый элемент в набор
Удалить()Удаляет элемент из набора
имеет()Возвращает true, если значение существует
чистый()Удаляет все элементы из набора
для каждого()Вызывает обратный вызов для каждого элемента
ценности()Возвращает итератор со всеми значениями в наборе
ключи()То же, что значения ()
записи()Возвращает итератор с парами [значение, значение] из набора
ИмуществоОписание
размерВозвращает количество элементов в наборе

Как создать набор

Вы можете создать набор JavaScript:

  • Передача массива вnew Set()
  • Создайте новый набор и используйте add()его для добавления значений
  • Создайте новый набор и используйте add()его для добавления переменных

Новый метод Set()

Передайте массив new Set()конструктору:

Пример

// Create a Set
const letters = new Set(["a","b","c"]);

Создайте набор и добавьте литеральные значения:

Пример

// Create a Set
const letters = new Set();

// Add Values to the Set
letters.add("a");
letters.add("b");
letters.add("c");

Создайте набор и добавьте переменные:

Пример

// Create Variables
const a = "a";
const b = "b";
const c = "c";

// Create a Set
const letters = new Set();

// Add Variables to the Set
letters.add(a);
letters.add(b);
letters.add(c);

Метод add()

Пример

letters.add("d");
letters.add("e");

Если вы добавите одинаковые элементы, будет сохранен только первый:

Пример

letters.add("a");
letters.add("b");
letters.add("c");
letters.add("c");
letters.add("c");
letters.add("c");
letters.add("c");
letters.add("c");


Метод forEach()

Метод forEach()вызывает функцию для каждого элемента Set:

Пример

// Create a Set
const letters = new Set(["a","b","c"]);

// List all entries
let text = "";
letters.forEach (function(value) {
  text += value;
})

Метод значений ()

Метод values()возвращает объект Iterator, содержащий все значения в наборе:

Пример

letters.values()   // Returns [object Set Iterator]

Теперь вы можете использовать объект Iterator для доступа к элементам:

Пример

// Create an Iterator
const myIterator = letters.values();

// List all Values
let text = "";
for (const entry of myIterator) {
  text += entry;
}

Метод ключей()

Set не имеет ключей.

keys()возвращает то же, что и values().

Это делает наборы совместимыми с картами.

Пример

letters.keys()   // Returns [object Set Iterator]

Записи () Метод

Set не имеет ключей.

entries() возвращает пары [значение, значение] вместо пар [ключ, значение].

Это делает наборы совместимыми с картами:

Пример

// Create an Iterator
const myIterator = letters.entries();

// List all Entries
let text = "";
for (const entry of myIterator) {
  text += entry;
}

Наборы — это объекты

Для набора typeofвозвращает объект:

typeof letters;      // Returns object

Для набора instanceof Setвозвращает true:

letters instanceof Set;  // Returns true