Рубрики
Без рубрики

Давайте узнаем о наборе и ее уникальной функциональности в JavaScript?

Asif Norzai Давайте узнаем о наборе и его уникальной функциональности в JavaScript? Не будь дубликатом, или набор не поймает вас? ES2015 / ES6 дал нам много полезных инструментов и функций, но один, который выделяется больше всего для меня. Это не используется

Автор оригинала: FreeCodeCamp Community Member.

Асиф Норзай

УСТАНОВЛЕННЫЙ ?

ES2015/ES6 дал нам много полезных инструментов и функций, но один, который выделяется больше всего для меня. Это не используется для его полного потенциала. Я надеюсь убедить вас от своей ценности с этой статьей, чтобы вы могли пожинать полные преимущества этой прекрасной полезности.

Так что набор, вы спрашиваете?

Установить удаляет дубликаты записей.

Основные функциональные возможности?

Всякий раз, когда вы хотите использовать Установленный , вы должны инициализировать его, используя Новый Ключевое слово и пропуск в начальном ИТЕРИТЕЛЬНО данные, оставьте это пустым или null Отказ

// All valid ways to initialize a set
const newSet1 = new Set();
const newSet2 = new Set(null);
const newSet3 = new Set([1, 2, 3, 4, 5]);

Установите утилиты/методы?

Добавить , Как и его имя предлагает, добавляет новые записи на вновь инициализированный набор const. Если в любое время в комплект добавляется дубликатное значение, он будет отброшен с помощью Строгое равенство Отказ

const newSet = new Set();

newSet.add("C");
newSet.add(1);
newSet.add("C");

// chain add functionality
newSet.add("H").add("C");

newSet.forEach(el => {
  console.log(el);
  // expected output: C
  // expected output: 1
  // expected output: H
});

есть Проверяет, если значение, которое вы проходите в существующих в Новейшие const. Если значение существует, он вернет логическое значение правда и это вернется ложный Если это делает нет

const newSet = new Set(["A", 2, "B", 4, "C"]);

console.log(newSet.has("A"));
// expected output: true

console.log(newSet.has(4));
// expected output: true

console.log(newSet.has(5));
// expected output: false

ясно & Удалить два из самых важных функций Установленный Если вы хотите удалить все записи или удалить определенное значение.

const newSet = new Set(["A", 2, "B", 4, "C"]);

newSet.delete("C");
// expected output: true

newSet.delete("C");
// expected output: false

newSet.size
// expected output: 4

newSet.clear();
// expected output: undefined

newSet.size
// expected output: 0

Ключи и Значения Оба имеют ту же функциональность, что странно, если вы думаете о том, как они ведут себя с объектами JS. Они оба возвращают итератор объект. Это означает, что вы можете получить доступ к .Next () метод на нем, чтобы получить его значение.

const newSet = new Set(null);

newSet.add("Apples");
newSet.add(12);

let iterator = newSet.keys();  // same as newSet.values();

console.log(iterator.next().value);
// expected output: Apples

console.log(iterator.next().value);
// expected output: 12

console.log(iterator.next().value);
// expected output: undefined

Возьми все вместе

Давайте создадим простой функцию для хакерской вечеринки. Функция добавляет пользователей в список только в том случае, если у них есть одобрение администратора. Таким образом, вы должны иметь имя админа с вашей записью, что является секретом (не в этой статье, хотя и). В конце программы это скажет, кто приглашен.

// The Admins
const allowedAdminUsers = new Set(["Naimat", "Ismat", "Azad"]);

// An empty Set, stored in memory
const finalList = new Set();

// A function to add users to permission list
const addUsers = ({user, admin}) => {
  
   // Check to see if the admin is the admin 
  // list and that the user isn't already in the set
  if(allowedAdminUsers.has(admin) && !finalList.has(user)) {
    
    // Return the users list at the end
   return finalList.add(user);
    
  }
  // Console.log this message if the if the condition doesn't pass
  console.log(`user ${user} is already in the list or isn't allowed`); 
};

// Add some entries
addUsers({user: "Asep", admin: "Naimat"});
addUsers({user: "John", admin: "Ismat"});

// Lets add John again and this time that inner function console error will be shown
addUsers({user: "John", admin: "Azad"});

const inviationList = [...finalList].map(user => 
 `${user} is invited`);

console.log(inviationList);
// Expected output:  ["Asep is invited", "John is invited"]

Этого достаточно функциональности для нас, чтобы использовать сегодня на наших проектах. ?

Прежде чем идти : Если вам понравилось этот пост, следуй за мной здесь, а также на Twitter , где я публикую и ретвит, связанный с веб-контентом.

Оригинал: “https://www.freecodecamp.org/news/lets-learn-about-set-and-its-unique-functionality-in-javascript-5654c5c03de2/”