Pt.1:« For Loops»
Pt. 2: «For… in Loops »
Серия о циклах JavaScript
Я сейчас пишу серию статей о пяти полезных циклах Javascript (for, for… in, for… of, while, do / while). Моя цель - сделать их простыми для понимания с помощью примеров и определения того, когда их использовать.
О циклах «for… of»
Хорошо, теперь перейдем к, возможно, самому простому циклу, о котором я расскажу, поэтому статья получилась довольно короткой. В отличие от цикла for… in для объектов, цикл for… of предназначен для массивов, строк, карт и нодлистов.
Эти циклы также отлично подходят для базовой итерации, когда вам не нужно отслеживать индексы. У «for… of» супер чистый синтаксис с хорошей читабельностью. Созданный на основе ES6, он является альтернативой методу forEach ().
Для… структуры цикла:
Как таковой:
for(variable of iterable){ execute code }
Переменная: это примитив, который вы будете перебирать (строка, целое число, логическое значение и т. д.).
Итерируемый: это то, что вы будете повторять. Вы можете перебирать строки, массивы, карты и нодлисты.
Простой пример:
Хорошо. Приведем простой пример. Один из них вы можете легко протестировать с помощью некоторых console.log ().
//open up inspect and paste this into your console, it's the easiest visual representation. let string = "this is a string" for(letter of string){ console.log(letter) }
Итак, очевидно, что «for… in» повторяет каждую букву и записывает ее в консоль. Красиво просто.
Проблема стиля алгоритма:
Давайте решим суперпростую задачу с алгоритмом. Что мы должны сделать, так это написать функцию, чтобы определить, сколько раз буква встречается в строке, а затем вернуть это число вместе с количеством раз, когда оно встречается. Таким образом, ваша функция примет в качестве аргументов строку и букву.
let string = "this is the string we will be iterating to see which letter occurs the most" let letterToCount = "c"
Прежде чем смотреть на ответ, попробуйте себя. Этот тип глубоких размышлений - это навык, который вам нужно отточить, когда вы начинаете программировать. И это супер весело.
Помните, SHELL полезен.
Решение:
function highestLetter(string,letterToCount){ let count = 0 for(element of string){ if(element === letterToCount){ count++ } } return `${letterToCount} occurred ${count} times in the sentence.` }
Карты:
Карты - это интересный тип объектов в JS. Я все еще новичок в них, так что может быть лучше, чтобы поработать над ними, чем во время моего сообщения в блоге?
О картах:
Карты - это тип объекта в Javascript, с его помощью вы можете устанавливать пары ключ / значение. Однако вместо того, чтобы ключи были только строкой / символом в объектах, с помощью Maps вы можете использовать все примитивы (строки, логические значения, null, undefined, целые числа), объекты, массивы и даже функции.
У них есть методы, которые вы можете вызывать на карте для извлечения данных и управления ими.
Подробнее о Картах здесь:
Пример:
function maps(){ let animalHabitat = new Map([["Jungle", "Gorilla"],["Desert","Lion"],["Tundra","Polar Bear"]]) console.log(animalHabitat); for([key,value] of animalHabitat){ console.log("The " + value + " lives in the " + key + "."); } } maps()
Итак, здесь мы создаем новую карту для переменной среды обитания животных. Где ключи - среда обитания, а ценности - животные.
It console.log (‘s)
"The Gorilla lives in the Jungle." "The Lion lives in the Desert." "The Polar Bear lives in the Tundra."
Добавление ключа / значения:
animalEnvironment.set(["Lake","Trout"]) for([key,value] of animalHabitat){ console.log("The " + value + " lives in the " + key + "."); } } maps()
Console.log ():
"The Gorilla lives in the Jungle." "The Lion lives in the Desert." "The Polar Bear lives in the Tundra." "The Trout lives in the Lake."
Если вы поняли какие-либо другие мои сообщения в блоге о циклах, есть образная 100% вероятность, что вы поняли это. Поздравляю.
Иди покатайся на одном из них.
Ресурсы: