Pt.1:« For Loops»

Pt. 2: «For… in Loops »

Pt. 4: Циклы «Пока »

Pt. 5. Циклы «Делай… пока »

Серия о циклах 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, целые числа), объекты, массивы и даже функции.

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

Подробнее о Картах здесь:

Карты MDN

Alligator.io

Пример:

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% вероятность, что вы поняли это. Поздравляю.

Иди покатайся на одном из них.

Ресурсы:

Карты

W3Schools