JavaScript - Объект Iterables

Здравствуйте,野心勃勃的程序员们!今天,我们将踏上一段激动人心的旅程,探索JavaScript的可迭代对象世界。作为您亲切的计算机科学老师,我将引导您一步一步地完成这次冒险。所以拿起你的虚拟背包,让我们开始吧!

JavaScript - Iterables

Что такое Iterables?

Прежде чем мы углубимся в детали, давайте поймем, что такое итерируемые объекты. В JavaScript итерируемый объект - это объект, над которым можно "пройтись". На более простом языке, это как коллекция вещей, которые можно просматривать по одной. Представьте себе сундук с сокровищами, который можно исследовать piece by piece.

Обычные примеры итерируемых объектов в JavaScript включают массивы, строки и карты. Это как разные типы сундуков с сокровищами, у каждого из которых есть свои уникальные характеристики.

Цикл для...из loop

Теперь давайте узнаем наш первый метод исследования этих сундуков: цикл for...of. Это как иметь магический ключ, который открывает каждый отсек нашего сундука по одному.

Пример 1: Перебор массива

const fruits = ['apple', 'banana', 'orange'];

for (const fruit of fruits) {
console.log(fruit);
}

В этом примере у нас есть массив фруктов (наш сундук с сокровищами). Цикл for...of проходит через каждый фрукт по одному, и мы выводим его. Когда вы запустите этот код, вы увидите:

apple
banana
orange

Это как если бы мы брали каждый фрукт из нашего сундука и любовались им!

Пример 2: Перебор строки

Строки также являются итерируемыми. Давайте посмотрим, как мы можем их исследовать:

const message = "Hello";

for (const character of message) {
console.log(character);
}

Этот код выведет:

H
e
l
l
o

Каждый символ нашей строки - это как крошечное сокровище, которое мы closely.

Использование метода forEach()

Теперь давайте узнаем другой способ исследования наших сокровищ: метод forEach(). Это как иметь полезного помощника, который проходит через наш сундук и показывает нам каждый предмет.

Пример 3: Использование forEach() с массивом

const numbers = [1, 2, 3, 4, 5];

numbers.forEach(function(number) {
console.log(number * 2);
});

Этот код выведет:

2
4
6
8
10

Здесь наш помощник (метод forEach()) не только показывает нам каждое число, но и удваивает его для нас!

Пример 4: Использование forEach() с Set

Множества - это другой тип итерируемого объекта в JavaScript. Давайте посмотрим, как мы можем использовать forEach() с ними:

const uniqueColors = new Set(['red', 'blue', 'green']);

uniqueColors.forEach(function(color) {
console.log(`Color: ${color}`);
});

Вывод:

Color: red
Color: blue
Color: green

Наш полезный помощник теперь показывает нам каждый уникальный цвет из нашего множества цветов.

Использование метода map()

Last but not least, давайте узнаем о методе map(). Это как иметь магическую палочку, которая может transform каждый предмет в нашем сундуке по мере его прохождения.

Пример 5: Преобразование элементов массива

const prices = [10, 20, 30, 40, 50];

const discountedPrices = prices.map(function(price) {
return price * 0.9;  // Скидка 10%
});

console.log(discountedPrices);

Вывод:

[9, 18, 27, 36, 45]

Здесь наша магическая палочка (метод map()) применяет скидку 10% к каждой цене в нашем списке.

Пример 6: Создание нового массива из существующих данных

const names = ['Alice', 'Bob', 'Charlie'];

const greetings = names.map(function(name) {
return `Hello, ${name}!`;
});

console.log(greetings);

Вывод:

['Hello, Alice!', 'Hello, Bob!', 'Hello, Charlie!']

Наша магическая палочка превратила каждое имя в дружеское приветствие!

Итог методов итерации

Вот удобная таблица, резюмирующая методы, которые мы изучили:

Метод Описание Случай использования
for...of Проходит через итерируемые объекты Простая итерация, когда вам нужны значения
forEach() Выполняет функцию для каждого элемента массива Когда вы хотите выполнить действие на каждом элементе
map() Создает новый массив с результатами вызова функции для каждого элемента Когда вы хотите преобразовать каждый элемент в массиве

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

В заключение, итерируемые объекты в JavaScript - это мощные constructs, которые позволяют нам эффективно работать с коллекциями данных. Независимо от того, используете ли вы цикл for...of, forEach() или map(), теперь у вас есть сила исследовать и манипулировать своими данными, как настоящий маг программирования!

Продолжайте практиковаться, и вскоре вы сможете легко вызывать сложные кодовые заклинания. Счастливого кодирования, мои молодые подмастерья!

Credits: Image by storyset