Урок 5 по JScript: Работа с массивами

Урок 5 по JScript: Работа с массивами Программирование на JSCRIPT

В этой публикации мы с вами изучим массивы Jscript языка. По своей природе Jscript массивы чем-то похожи на объекты, так как в них тоже содержится набор значений. Но, в объектах обращение к их значениям (методы и свойства) происходит по имени, а в массивах Jscript – по индексах. Все элементы массива имеют свой числовой индекс (только целые значения), нумерация начинается с нуля, при обращении к тому или иному элементу, прописывается имя массива, а далее, в квадратных скобках указывается номер (индекс).

Jscript позволяет создавать только одномерные массивы n-й длины.

Jscript массивы могут содержать любой тип данных: числа, строки, функции, объекты и даже ссылки на другие массивы – в этом случае можно формировать многомерные матрицы!

За создание нового массива Jscript отвечает встроенный объект Array, работу которого я более детально рассмотрел в статье «Array – встроенный объект для работы с массивами и объектами«.

Давайте посмотрим на следующий пример:

//************************************************// Создание простых массивов JScript// array.js//************************************************ var arr1, arr2, arr3 arr1 =newArray();arr2 =newArray(3);arr3 =newArray(100,"строка",3.5); WScript.Echo(arr1);       //пустоWScript.Echo(arr2);       //,,WScript.Echo(arr3);       //100, "строка", 3.5 WScript.Echo(typeof(arr3));      //object

Тут мы объявили три переменные arr1, arr2 и arr3, далее, каждой переменной дали ссылку на объект Array с помощью ключевого слова new. Видим, что arr1 является массивом нулевой длины, arr2 – длина ровна 4 (нумерация идет с нуля) и arr3 – уже содержит значения: 100, «строка», 3.5 – тут присутствует целое, вещественное и значения типа строка. Видим, что функция typeof показала, что переменная arr3 имеет тип object.

Теперь давайте посмотрим, как происходит присвоение значений и обращение к ним:

//************************************************// Назначение и вывод значений// array_1.js//************************************************ var arr arr =newArray(3);arr[0]=100;arr[1]="строка";arr[2]=true;arr[3]=4.5; //Обе сточки являются аналогичнымиWScript.Echo(arr);WScript.Echo(arr[0]+","+ arr[1]+","+ arr[2]+","+ arr[3]);

В данном примере показано, как происходит назначение и вывод значений по индексу. Если нужно произвести вывод всех значений в цикле, то удобно использовать цикл for…in, работу с ним я подробно рассмотрел в статье «for…in – цикл для работы с массивами и объектами«.

Хорошо, теперь давайте рассмотрим пример потруднее:

//************************************************// Пример по сложнее// array_2.js//************************************************ var arr =newArray(2), arr_new =newArray(100,true,300), obj_new =newObject() fun_new =function(x,y){return x+y};obj_new ={a:25, b:5, c:"новая строка"}; arr[0]=fun_new;arr[1]=obj_new;arr[2]=arr_new; WScript.Echo(arr);//Обращаемся к другому массивуWScript.Echo(arr[2][0]+" "+ arr[2][1]+" "+arr[2][2]);//Вызываем функциюWScript.Echo(arr[0](4,10));//Получаем доступ к объектуWScript.Echo(arr[1].c);

Как видим, в данном примере мы создали функцию (fun_new), объект (obj_new) и массив (arr_new). Всё это мы присвоили новому jscript массиву arr. Мы можем вызвать функцию и обратиться к свойству объекта через индекс, и можем обратиться к значениям arr_new, то есть, присваивая в качестве индекса другой массив, мы можем обратиться к его элементам тоже по индексу (arr[2][0], arr[2][1], arr[2][2]). Это позволяет формировать матрицы произвольного размера.

Скачать архив с примерами

Теперь, давайте рассмотрим так называемые литеральные массивы:

//************************************************// Литералы// array_3.js//************************************************ var arr =[100,200,300,400,500];var matrix =[[1,2,3],[4,5,6],[7,8,9]]var neo =[[[1,2,3],[4,5,6],[7,8,9]],[[10,11,12],[13,14,15],[15,17,18]],[[4,7,0],[3,4,1],[0,7,4]]] WScript.Echo(typeof(arr));WScript.Echo(arr);WScript.Echo(matrix); WScript.Echo(matrix[1][2]);WScript.Echo(neo[1][2][1]);

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

Оцените статью
Технологии программирования и ведение блога
Добавить комментарий