Понимание объектов For Loops и JSON с Лу Бега.

При первом изучении Javascript циклы for могут вызывать затруднения. Возможно, вы спросили себя: «Для чего они нужны и зачем мне их использовать?» Если у вас есть группа данных, которую нужно отсортировать определенным образом, или вам нужно добавить данные в группу, или найти определенный фрагмент данных из группы, циклы for могут быть бесценным инструментом. Если ваша группа данных находится в массиве, цикл for будет выполнять итерацию по всему массиву, позволяя вам добавить условие и исполняемый блок кода, если условие выполняется во время итерации по массиву.

Хорошо, хорошо, я знаю. На простом английском, правда? Давайте разберемся с примером из реальной жизни. Ниже представлена ​​вечная классика Лу Беги, Мамбо №5.

Как мы ясно видим с самого начала, Лу - большой поклонник массивов. Он начинает с перечисления некоторых из своих любимых чисел в порядке возрастания.

“[1, 2, 3, 4, 5]”

Отлично. Мы могли бы использовать цикл for, чтобы перебирать массив чисел Лу, находить его любимое число или просто числа больше 3 или складывать их все вместе. Возможности столь же безграничны, сколь и непрактичны. Мы можем лучше, не так ли?

Лу тоже помогает нам в этом. позже он дает нам еще одну подборку своих любимых дам:

[Анджела, Памела, Сандра, Рита, Моника, Эрика, Рита, Тина, Сандра, Мэри, Джессика]

Хорошо, теперь мы к чему-то приближаемся, но мы мало что можем сделать с этой информацией. К счастью, Лу дает нам немного больше информации, которая может быть действительно полезной. Он говорит: «По мере того, как я продолжаю, вы знаете, что они становятся слаще». Исходя из этого, мы можем сделать вывод, что каждая женщина ценит сладость. Анжела явно наименее милая. Поскольку значение массива увеличивается, это сделало бы Джессику самой милой. Поскольку мы хотим сохранить несколько значений для каждого элемента в массиве, лучший способ сделать это - использовать JSON (нотация объектов Javascript). Чтобы помочь Лу систематизировать свои данные, я сделал это ниже, присвоив каждой женщине значение сладости. Я присвоил этот массив объектов переменной lousLadies. Вот как бы это выглядело:

var lousLadies = [
{
«женщина»: {
«имя»: «Анджела»,
«сладость»: »1 ',
}
},
{
«женщина»: {
«имя»: «Памела»,
«сладость»: «2 ',
} < br />},
{
«женщина»: {
«имя»: «Сандра»,
«сладость»: »3 ',
}
},
{
«женщина»: {
«имя»: «Рита»,
«сладость»: »4 ',
}
},
{
«женщина»: {
«имя»: «Моника»,
«сладость»: »5 ',
}
},
{
«женщина»: {
«имя»: «Рита»,
«сладость»: «7 ',
}
} ,
{
«женщина»: {
«имя»: «Тина»,
«сладость»: «8 ',
}
},
{
«женщина»: {
«имя»: «Джессика»,
«сладость»: «11 ',
}
}, < br /> {
«женщина»: {
«имя»: «Сандра»,
«сладость»: »9 ',
}
},
{
«женщина»: {
«имя»: «Мэри»,
«сладость»: »10 ',
}
},
{
«женщина»: {
«нам e »:« Эрика »,
« sweetness »:« 6 ',
}
},
]

Ого, это много данных, верно? Но теперь мы можем перебрать всех Lou’s Ladies и найти именно то, что мы ищем. Представим, что у Лу запланирована большая ночь, и он хочет провести ее с кем-то действительно особенным. Не всякая Леди подойдет, он хочет, скажем, Леди со значением сладости больше 8. Звучит разумно. И это легко, если он имеет дело только с 10 девушками, но что, если их сотни? Это было бы непростой задачей. Во-первых, нам нужно установить в переменной именно то, что мы ищем. Массив женщин со значением сладости больше 8.

let sweetestLady = [];

Теперь все готово. Нам просто нужно создать цикл for. Вот так.

for (var i = 0; i ‹lousLadies.length; i ++)

Наш цикл for будет перебирать всю длину массива. Хорошо, отлично. Но поскольку эти значения являются строками, нам нужно преобразовать строки в числовые значения.

parseInt (lousLadies [0] .woman.sweetness);

Теперь нам нужно настроить условие, чтобы найти в массиве женщин со значением сладости больше 8.

if (lousLadies [i] .woman.sweetness ›8)

Сейчас готовим на газе. Все, что осталось, - это вставить все, что найдет цикл for, в уже созданный пустой массив (sweetestLady).

sweetestLady.push (lousLadies [i] .woman)

И все готово. Если мы все сделали правильно, цикл for вернет желаемые результаты: Джессика, Сандра и Мэри. Видишь, это не так уж и плохо. Циклы For - отличный способ решить проблему, особенно если у вас есть много данных для сортировки, как у Лу. Удачи, ребята, и счастливого зацикливания.