Урок 3. Массивы и объекты в JavaScript

Урок 3. Массивы и объекты в JavaScript

Создание и раскрутка сайтов

Вбиваю в ТОП-10, как гвозди

8-965-148-98-02, diplom07@mail.ru

Создание и раскрутка сайтов

Вбиваю в ТОП-10, как гвозди

8-965-148-98-02, diplom07@mail.ru

Урок 3. Массивы и объекты в JavaScript

Урок 3. Массивы и объекты в JavaScript

www.homa.xp3.biz

Теория

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

Представьте, что нужно вывести название 3-го месяца. С помощью 12 различных переменных это проблематично, т.к. необходимо помнить названия всех переменных, в которые записаны месяцы.

Поэтому ввели специальный тип данных: массив.

Массив создается с помощью квадратных скобок []:

a=[]//Создан массив a

Пока созданный массив не содержит никаких данных. Заполним его названиями дней недели:

a=['пн','вт','ср','чт','пт','сб','вс']

Каждое значение списка, который записан в массив (каждый день недели), называется элементом массива.

Элементы разделяются между собой запятой. После этой запятой можно ставить пробелы, а можно не ставить.

Внимание! Названия дней недели представляют собой строки и поэтому взяты в кавычки. Кроме строк в массиве можно хранить числа (их в кавычки не брать):

a=['пн',6,'ср',4,8,'сб',88];

Как вывести отдельный элемент массива

Нужно вывести четверг с помощью составленного массива дней недели.

Делается это так: нужно после переменной массива (a) написать квадратные скобки [], а в них указать порядковый номер элемента, который нужно вывести: a[3]. Казалось бы, порядковый номер четверга - это 4, нет. В программировании нумерация начинается с 0. Поэтому 0 - это понедельник, 1 - это вторник и т.д.

Пример:

Вывести слово 'ср':

a=['пн','вт','ср','чт','пт','сб','вс'];document.write(a[2])

Ассоциативные массивы (объекты)

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

Т.е. получено значение элемента массива по его ключу.

JavaScript сам определял ключи для элементов, это были их порядковые номера. Иногда это неудобно, например, если нужно вывести название 3-го дня недели (среда), то в квадратных скобках надо написать цифру 2, а не 3.

Поэтому в JavaScript можно указать ключи в явном виде. Делается это с помощью объектов (в других языках программирования они называются ассоциативными массивами). Объекты создаются с помощью фигурных скобок {}, внутри которых пишутся элементы этого объекта в формате ключ:значение.

Пример. Понедельник имеет ключ 1, а не 0 (и всем остальным дням прибавим 1):

Ключи указываются в явном виде:

o={1:'пн',2:'вт',3:'ср',4:'чт',5:'пт',6:'сб',7:'вс'};document.write(o[1])//Выведет 'пн'

Синтаксис здесь такой: ключ, затем идет двоеточие :, а потом значение.

Ключи не обязательно должны быть числами, они могут быть и строками.

Пример. Массив, в котором ключами будут имена работников, а элементами - их зарплаты:

Массив (объект) работников:

o={'Коля':200,'Вася':300,'Петя':400}

Узнать зарплату Васи:

o={'Коля':200,'Вася':300,'Петя':400};document.write(o['Вася'])//Выведет 300

Кавычки вокруг строковых ключей можно не ставить:

o={k1:200,k2:300,k3:400};document.write(o['k1'])//Выведет 200

Но на такие ключи накладываются ограничения: они не должны начинаться с цифры, не должны иметь символ дефиса или символ пробела внутри. Если есть такой ключ, просто возьмите его в кавычки.

Свойства объекта

Существует и другой способ обратиться к элементу объекта - используя обращение не через квадратные скобки, а через точку: не o['k'], а o.k.

В этом случае говорят, что обращаются к свойству объекта.

Пример:

o={k1:200,k2:300,k3:400};document.write(o.k1)//Выведет 200

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

Как еще можно создать массив или объект.

Вместо {} и [] можно пользоваться Object() и Array() соответственно (это просто альтернативный синтаксис).

Cоздать объект 1-м синтаксисом (не работает этот Object):

o=new Object(k1:200,k2:300,k3:400);document.write(o['k1'])//Выведет 200

Cоздать массив 2-м синтаксисом:

a=Array('пн',256,'ср',34,38,'сб',95);document.write(a)

Создание объекта через {} и через Object() эквивалентно, можно пользоваться тем способом, который удобнее.

А вот с массивом не все так просто. Разница между ними проявляется в случае, если нужно сделать массив, состоящий из 1 элемента, который будет целым числом, вот так:

a=Array(10);

В этом случае получится не такой массив: a=[10], а вот такой: a=[,,,,,,,,,].

Это будет массив, состоящий из 10 пустых элементов (их значение будет undefined), а не массив из 1 элемента 10, как нужно.

Заполнение массива

Массив можно заполнять после этапа создания.

Пример. Переменная a - массив, а потом массив заполняется данными:

a=[];a[0]=1,a[1]=2,a[2]=3;document.write(a)//Выводится содержимое массива

Также можно поступать и с объектами:

o={};o['Коля']=100,o['Вася']=200,o['Петя']=300;document.write(o)

Многомерный массив

Элементы массива могут быть не только строками и числами, но и массивами. Т.е. получится массив массивов или многомерный массив.

Давайте сделаем массив студентов s, который будет содержать 2 подмассива: студенты мужского пола и женского:

var s={'m':['Коля','Вася','Петя'],'g':['Даша','Маша','Лена']}

Чтобы вывести какой-либо элемент из многомерного массива следует писать уже не 1 пару [], а 2: s['m'][0], так мы выведем 'Коля'.

Отвечу на любые вопросы. С уважением, Дмитрий Владимирович:
8-965-148-98-02, diplom07@mail.ru.
Печатать страницу: Урок 3. Массивы и объекты в JavaScript

Урок 3, Массивы и объекты в JavaScript, Урок, 3, Массивы, и, объекты, в, JavaScript, создание, сайта, веб, заказ, web, дизайн, раскрутка, продвижение, новый, сайт, рейтинг, сео, seo, Создание сайтов, web-программирование, seo-продвижение, создание и раскрутка сайтов, вбиваю в топ-10, как гвозди, попробуйте бесплатно, Создание сайтов, web-программирование, seo-продвижение, Урок, 3, Массивы, и, объекты, в, JavaScript, создание, сайта, веб, заказ, web, дизайн, раскрутка, продвижение, новый, сайт, рейтинг, сео, seo, создание, сайта, веб, заказ, web, дизайн, раскрутка, продвижение, новый, сайт, рейтинг, сео, seo, раскрутка сайтов, Вбиваю в ТОП-10, как гвозди, раскрутка сайтов, Делаю и раскручиваю сайты, Дмитрий Владимирович

×

Ваше письмо