Одним из самых распространенных объектов JavaScript, с которыми мы всегда будем работать, являются массивы, и для того.
Script - один из самых распространенных языков программирования, и, как и другие языки, он предоставляет нам возможность работать с многомерными массивами. Итак, многомерные массивы в JavaScript ничем не отличаются от массивов в других языках программирования, и в этом простом учебнике мы научимся создавать и работать с ними.Java
Итак, прежде чем мы начнем, важно понять, что многомерный массив в JavaScript - это просто массив, но с N измерениями. Итак, что же на самом деле представляет собой размерность массива? Давайте начнем с этого.
Ну, думайте о размерности массива просто как о том, насколько вложен элемент массива в массив из родительского массива. На этом мы можем закончить, но давайте воспользуемся более декларативным примером, чтобы перейти к следующему разделу работы с этим вариантом структуры данных. Для этого учебного пособия по многомерным массивам в JavaScript мы будем использовать простой пример с ботинками.
const shoes = ["red", "green", "blue", "pink"];
Итак, на верхнем уровне у нас есть четыре типа обуви по цвету. Это то, что мы видим с первого взгляда, когда посещаем магазин. Итак, мы видим только один уровень категорий обуви, по восприятию. И это дает нам только одно представление об обуви, по свойствам. Это дает нам одно измерение. Итак, насколько мы знаем, размерность этого массива равна единице.
Хорошо, теперь давайте добавим еще одну переменную - размер обуви.
const shoesWithSizes = ?
Как выглядит многомерный массив в JavaScript? Ну, вы правильно догадались. Как будет выглядеть этот многомерный массив?
const shoesWithSizes = [['red', 40], ['red', 41], ['red', 42], ['green', 40], ['green', 41]]
Что изменилось до сих пор в этом учебнике по многомерным массивам на JavaScript? Мы добавили еще одну переменную в картину, и с ее помощью мы теперь можем классифицировать наши фигурки по двум свойствам - цвету и размеру. Аналогично, наш массив теперь имеет размерность 2.
Мы только что создали многомерный массив в JavaScript! Итак, что h
Итак, теперь мы видим, что для того, чтобы получить заданную обувь, например, красную 40, нам нужно сделать следующее:
ShoesWithSizes[0][1] → сначала мы получим красный, а затем 40. В большинстве случаев вы не будете индексировать многомерный массив в JavaScript таким образом, вы будете делать это динамически. То же самое касается и создания.
Итак, допустим, у нас есть список обуви, и мы можем видеть ее только по цветам. Но нам говорят, что в этом списке каждый цвет имеет размеры от 40 до 42. Теперь нам нужно преобразовать это в многомерный массив.
Что ж, давайте создадим features.How
const colors = ["red", "green", "blue", "pink"]; const sizes = [40, 41, 42];
Итак, как мы можем создать многомерный массив из них? Ну, с помощью циклов! Мы будем использовать цикл javascript for loop для этого многомерного массива в учебнике JavaScript. Вы, конечно, можете использовать for each, но это зависит только от вас. Только помните, что выбранный вами вариант должен позволять выйти из цикла во вложенности цикла.
if (colors.length > sizes.length) { for (let i = 0; i < sizes.length; i++) { for (let j = 0; j < colors.length; j++) { const sizeColorUnit = [sizes[i], colors[j]]; shoeSizes.push(sizeColorUnit); } } } else { for (let i = 0; i < colors.length; i++) { for (let j = 0; j < sizes.length; j++) { const sizeColorUnit = [sizes[j], colors[i]]; shoeSizes.push(sizeColorUnit); } } } console.info("shoeSizes", shoeSizes);
Итак, поясним:
Обратите внимание, что перед выполнением цикла мы проверяем размер массивов. Это всегда хорошая идея - сначала выполнить цикл внутри небольшого массива, чтобы снизить сложность алгоритма. Я знаю, что это, возможно, новый термин, но он выходит за рамки данной темы, но, возможно, мы рассмотрим его позже.
Итак, если у colors больше элементов, мы перебираем их внутри sizes и наоборот.
следующая часть - как зациклить многомерный массив в JavaScript. Мы хотим создать многомерный массив, поэтому нам нужно подумать об одной главной вещи: уровнях вложенности. Уровни вложенности - это то, что переводится в N измерений массива. В данном случае у нас есть уровень вложенности под i-м элементом и еще один под j-м элементом, поэтому у нас есть многомерный массив из двух уровней.Хорошо, теперь
Мы создали многомерный массив в JavaScript, как же нам получить доступ к его содержимому?
Доступ к массиву всегда должен рассматриваться в терминах размерности. То же самое относится и к нашему массиву. Нам нужно знать уровни. Точку. Давайте посмотрим, как мы можем это сделать.
Ant для получения красного цвета размером 41, то это будет означать, что мы пройдемся по массиву, сравнивая i-й и j-й элементы, чтобы увидеть, дают ли они нам соответствие красного цвета и 41 соответственно, в зависимости от свойства.Итак, предположим, что мы w
const color = "red"; const size = 41; let itemInList = 0; let matchFound = false; for (let i = 0; i < shoes.length; i++) { const shoe = shoes[i]; for (let j = 0; j < shoe.length; j++) { if (shoe[0] === size && shoe[1] === color) { matchFound = true; itemInList = i + 1; break; } } if (matchFound) { break; } }
Итак, здесь мы задаем нужный нам тип показа, указывая цвет и размер. Затем мы задаем переменную itemInList, которая сообщит нам, какой предмет в списке обуви (возможно, в магазине на полке) соответствует нашему поиску. И наконец, мы определяем еще одну переменную matchFound, которая поможет нам выйти из многомерного массива.
Теперь, в этой строке:
if (shoe[0] === size && shoe[1] === color)
Мы просто сравниваем наши свойства со свойствами в списке.
Теперь обратите внимание на эти три строки
matchFound = true; itemInList = i + 1; break;
Сначала мы проверяем, было ли найдено точное совпадение, затем устанавливаем значение true. После этого мы указываем, в какой позиции они появляются, и поэтому добавляем i + 1, потому что в реальной жизни элементы начинаются с индекса 1, а не с индекса 0. Наконец, мы прерываемся, чтобы выйти из внутреннего цикла.
Найден, то мы выходим из него.
if (matchFound) { break; }
Вот так можно получить доступ к элементам в многомерном массиве.
Заключение
Размерность массива.
С этими словами, счастливого кодирования!
Вы заинтересованы в изучении JavaScript? Посмотрите похожие статьи здесь: Похожие статьи
23.03.2023 11:48
В прошлом, когда вы не хотели, чтобы другие классы расширяли определенный класс, вы могли пометить его как final.
23.03.2023 08:01
Если вы уже умеете работать с React, создание мобильных приложений для iOS и Android - это новое приключение, в котором вы сможете применить свои навыки работы с React.
23.03.2023 02:41
Я часто вижу беспорядочный код CSS, особенно если проект большой. Кроме того, я совершал эту ошибку в профессиональных или личных проектах и чувствовал, что больше не хочу смотреть на длинный код CSS с нарушенной структурой.
22.03.2023 13:41
В быстро развивающемся мире веб-разработки ServiceNow для достижения успеха крайне важно оставаться на вершине последних тенденций и технологий. По мере того как растут ожидания клиентов в отношении лучшего UI/UX, увеличивается конкуренция и возрастает потребность в производительности разработчиков,...
22.03.2023 08:55
Заголовок веб-страницы играет наиболее важную роль в SEO, он помогает поисковой системе понять, о чем ваш сайт.
22.03.2023 08:25
В этой статье я рассказываю обо всех необходимых шагах, которые нужно выполнить при настройке jest в angular.