JavaScript Набор объектов
JavaScript Набор - это набор уникальных значений.
Каждое значение может встречаться только один раз в наборе.
Набор может содержать любое значение любого типа данных.
Методы набора
Метод | Описание |
---|---|
new Set() | Создает новый набор |
add() | Добавляет новый элемент в набор |
delete() | Удаляет элемент из набора |
has() | Возвращает значение true, если значение существует |
clear() | Удаляет все элементы из набора |
forEach() | Вызывает обратный вызов для каждого элемента |
values() | Возвращает итератор со всеми значениями в наборе |
keys() | Так же, как values() |
entries() | Возвращает итератор с парами [value,value] из набора |
Свойство | Описание |
---|---|
size | Возвращает количество элементов в наборе |
Как создать набор?
Вы можете создать набор JavaScript с помощью:
- Передача массива в
new Set()
- Создайте новый набор и используя
add()
, чтобы добавить значения - Создайте новый набор и используя
add()
, чтобы добавить переменные
Метод new Set()
Передать массив в конструктор new Set()
:
Создайте набор и добавьте литеральные значения:
Пример
// Создайте набор
const letters = new Set();
// Добавьте значения в набор
letters.add("a");
letters.add("b");
letters.add("c");
Попробуйте сами »
Создайте набор и добавте переменные:
Пример
// Создайте переменные
const a = "a";
const b = "b";
const c = "c";
// Создайте набор
const letters = new Set();
// Добавьте переменные в набор
letters.add(a);
letters.add(b);
letters.add(c);
Попробуйте сами »
Метод add()
Если вы добавите равные элементы, будет сохранен только первый:
Пример
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()
вызывает функцию для каждого элемента набора:
Пример
// Создайте набор
const letters = new Set(["a","b","c"]);
// Перечислите все записи
let text = "";
letters.forEach (function(value) {
text += value;
})
Попробуйте сами »
Метод values()
Метод values()
возвращает объект итератора, содержащий все значения в наборе:
Теперь вы можете использовать объект итератора для доступа к элементам:
Пример
// Создайте итератор
const myIterator = letters.values();
// Перечислите все значения
let text = "";
for (const entry of myIterator) {
text += entry;
}
Попробуйте сами »
Метод keys()
В наборе нет ключей.
Метод keys()
возвращает то же самое, что и values()
.
Это делает наборы совместимыми с картами.
Метод entries()
В наборе нет ключей.
Метод entries()
возвращает пары [value,value] вместо пар [key,value].
Это делает наборы совместимыми с картами:
Пример
// Создайте итератор
const myIterator = letters.entries();
// Перечислите все записи
let text = "";
for (const entry of myIterator) {
text += entry;
}
Попробуйте сами »
Наборы являются объектами
Для набора, typeof
возвращает объект:
typeof letters; // Возвращает объект
Попробуйте сами »
Для набора, instanceof Set
возвращает true:
letters instanceof Set; // Возвращает true
Попробуйте сами »