Массивы. Часть 1

Вторник, 26 июля 2011 г.
Рубрика: JavaScript -> Массивы
Метки: | |
Просмотров: 324
Подписаться на комментарии по RSS

Что такое массив?

Для начала постараемся объяснить Вам образно.

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

А массив представляет собой набор этих переменных - то есть контейнер для ящиков, в который можно положить какое-то кол-во ящиков ( заданное Вами ), и эти ящики можно достать из этого контейнера для показа, замены или удаления предметов, которые лежат в ящиках.

Если говорить правильно, то массив представляет собой область памяти, разбитую на отдельные именованые участки этой памяти ( переменные ), в которых могут храниться данные, и к которым мы можем обратиться для вывода, замены или удаления этих данных.

Теперь поработаем непосредственно с массивами.

Давайте для начала создадим новую страницу, и в ней в javascript объявим несколько строковых переменных с названием дней.

<html>
<head>
<title>JavaScript</title>
</head>
<body>
<script type = "text/javascript">
var day1 = "Понедельник", day2 = "Вторник", day3 = "Среда", day4 = "Четверг", day5 = "Пятница", day6 = "Суббота", day7 = "Воскресенье";
</script>
</body>
</html>

Как видите нам пришлось прописать семь переменных, что не очень удобно.

А теперь давайте создадим в массив и просто занесём в него все эти значения.

Объявляется массив так же как и переменная, но после знака присваивания ставятся квадратные скобки, после чего перечисляются все элементы массива ( в нашем случае названия дней недели ).

<html>
<head>
<title>JavaScript</title>
</head>
<body>
<script type = "text/javascript">
var day1 = "Понедельник", day2 = "Вторник", day3 = "Среда", day4 = "Четверг", day5 = "Пятница", day6 = "Суббота", day7 = "Воскресенье";
var days = ["Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"];
</script>
</body>
</html>

Вот мы и объявили массив, в который занесли все значения.

Хочу заметить что типы элементов массива ( то есть строка или число ) могут быть разными - например в один массив можно добавить число и строку, и ошибки не произойдёт.

А теперь попробуем создать такой массив.

<html>
<head>
<title>JavaScript</title>
</head>
<body>
<script type = "text/javascript">
var day1 = "Понедельник", day2 = "Вторник", day3 = "Среда", day4 = "Четверг", day5 = "Пятница", day6 = "Суббота", day7 = "Воскресенье";
var days = ["Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"];
var myArray = [6, "Год", 21, "Месяц"];
</script>
</body>
</html>

Вот мы и объявили массив myArray - в котором находятся как числовые, так и строковые данные.

Теперь выведем значение какого нибудь элемента массива - для этого воспользуемся объектом document и его методом write.

Для вывода значения элемента массива, нужно написать имя массива, а после в квадратных скобках номер элемента массива, например выведем значение "Вторник" элемента массива под номером 2.

И запомните самое главное при выводе массива - все номера элементов массива начинаются не с единицы а с нуля, так что для вывода первого элемента нужно писать - mas[0];

<html>
<head>
<title>JavaScript</title>
</head>
<body>
<script type = "text/javascript">
var day1 = "Понедельник", day2 = "Вторник", day3 = "Среда", day4 = "Четверг", day5 = "Пятница", day6 = "Суббота", day7 = "Воскресенье";
var days = ["Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"];
var myArray = [6, "Год", 21, "Месяц"];
document.write (days[1]);
</script>
</body>
</html>

Вот мы и вывели значение "Вторник".

Так же можно выводить значения массива с помощью переменных - то есть в переменной будет находится какое-то число, например 2 в переменной num, тогда вывод будет такой - document.write (mas[num]);

Массивы можно объявлять ещё двумя способами. Для этого используется функция new Array.

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

Рассмотрим на примере.

<html>
<head>
<title>JavaScript</title>
</head>
<body>
<script type = "text/javascript">
var day1 = "Понедельник", day2 = "Вторник", day3 = "Среда", day4 = "Четверг", day5 = "Пятница", day6 = "Суббота", day7 = "Воскресенье";
var days = ["Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"];
var myArray = [6, "Год", 21, "Месяц"];
document.write (days[1]);
var mas = new Array ("Голливуд", "Лондон", "Великобритания");
document.write (mas[1]);
var mas2 = new Array (5);
mas2[0] = "Виннигред";
document.write (mas2[0]);
</script>
</body>
</html>

Мы рассмотрели два способа - на массивах mas и mas2.

Пример массива days - можно использовать в календарях, для обозначения дня недели словом вместо цифры.

А теперь давайте закрепим полученные знания на практике.

Ваше задание такое:

Создайте два массива

В один из них занесите названия месяцев

В другой кол-во дней в каждом месяце

Добавляйте все месяца по порядку

И сделайте вывод кол-ва дней в каждом месяце на экран

Вот решение, но советую сначала попробовать самим!

<html>
<head>
<title>JavaScript</title>
</head>
<body>
<script type = "text/javascript">
var month = ["Январе", "Феврале", "Марте", "Апреле", "Мае", "Июне", "Июле", "Августе", "Сентябре", "Октябре", "Ноябре", "Декабре"];
var days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
document.write ("В " + month[0] + " - " + days[0] + " дней ( день ).<br />");
document.write ("В " + month[1] + " - " + days[1] + " дней ( день ).<br />");
document.write ("В " + month[2] + " - " + days[2] + " дней ( день ).<br />");
document.write ("В " + month[3] + " - " + days[3] + " дней ( день ).<br />");
document.write ("В " + month[4] + " - " + days[4] + " дней ( день ).<br />");
document.write ("В " + month[5] + " - " + days[5] + " дней ( день ).<br />");
document.write ("В " + month[6] + " - " + days[6] + " дней ( день ).<br />");
document.write ("В " + month[7] + " - " + days[7] + " дней ( день ).<br />");
document.write ("В " + month[8] + " - " + days[8] + " дней ( день ).<br />");
document.write ("В " + month[9] + " - " + days[9] + " дней ( день ).<br />");
document.write ("В " + month[10] + " - " + days[10] + " дней ( день ).<br />");
document.write ("В " + month[11] + " - " + days[11] + " дней ( день ).");
</script>
</body>
</html>
Поделиться...
twitter.com facebook.com vkontakte.ru mail.ru google.com bobrdobr.ru
Оставьте свой комментарий!

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Если вы уже зарегистрированы как комментатор, укажите пароль и свой действующий email.

(обязательно)