JavaScript: методы работы с массивами. Часть 1.

Недавно я написал пост » JavaScript: методы работы со строками «, в котором описал множество методов работы со строками в JavaScript. Другое место, где JavaScript имеет множество разных методов — действия с массивами, которые я опишу в данном посте. Как обычно, я постараюсь изложить все максимально просто и понятно. Если считаете, что я допустил где-то ошибку или упустил что-то важное — пожалуйста, комментируйте!

 

 

Создание массива.

Чтобы создать массив, вы можете сделать следующее:

var myArray = new Array();
var myArray = []; // рекомендуется

Первый способ — вызов конструктора массива. Второй (предпочтительный) — литерал для массива. Вы можете создать массива с установленным количеством слотов (ячеек). Следующий код создает массив с 30 пустыми слотами, которые содержат значение undefined:

var myArray = new Array(30);

Вы так же можете создать массив с определенными заранее элементами:

var myArray = new Array("apples", "oranges", "pears", "watermelons");

А можно сделать и с помощью литерала:

var myArray = ["apples", "oranges", "pears", "watermelons"];

 

 Проверяем, объект является массивом?

Чтобы определить, является ли объект массивом можно использовать Array.isArray():

var myArray = "Misnomer";
var myArray2 = ["keeping", "things", "real"];
console.log(Array.isArray(myArray)); // false
console.log(Array.isArray(myArray2)); // true

Пока myArray не массив, Array.isArray() будет возвращать false. Но, т.к. myArray2 — массив, то функция вернет true.

 

Получить или установить размер массива

Найти, сколько элементов в массиве или насколько длинный массив, можно используя свойство length:

var myArray = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"];  
console.log(myArray.length); // 5

Интересно то, что вы можете изменить размер массива с помощью lenght:

var myArray = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"];
myArray.length = 3;
console.log(myArray); // ["Monday", "Tuesday", "Wednesday"]

Как показано выше, после того, как мы определили массив с 5-тью элементами и затем установили длину «3», удалились последние 2 элемента. Обратно, вы можете добавить новые элементы используя свойство length.

var myArray = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"];
myArray.length = 7;
console.log(myArray);
// ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", undefined × 2]

Хотя это и возможно, но бесполезно, потому что 2 новых элемента имеют значение «undefined», но длина массива увеличилась до 7.

 

Получение и присваивание значений массиву.

Чтобы прочитать значение элемента массива, мы можем сделать так:

var myArray = ["1984", "Jane Eyre", "Moby Dick", "Charlotte's Web"];  
console.log(myArray[2]); // Moby Dick

Число в квадратных скобках — индекс (или позиция) элемента, к которому мы хотим получить доступ. Для начинающих: помните, что индексы начинаются с нуля? Изменение элементов в массиве:

var myArray = ["It", "ain't", "over", "until", "it's over"];
console.log(myArray[4]); // it's over
myArray[4] = "the fat lady sings";
console.log(myArray); // ["It", "ain't", "over", "until", "the fat lady sings"]

Здесь мы использовали квадратные скобки, чтобы установить новое значение для пятого элемента массива, который изменился с «it’s over» в «the fat lady sings».

 

Конвертирование массива в строку.

Мы можем конвертировать массив в строку следующей командой:

var myArray = ["csv", "files", "ftw"];  
myArray = myArray.toString();  
console.log(myArray); // csv,files,ftw

Так же это можно сделать с помощью toLocaleString():

var myArray = ["who", "needs", "spaces"];  
myArray = myArray.toLocaleString();  
console.log(myArray); // who,needs,spaces

И методом join():

var myArray = ["parent", "child", "dog"];  
myArray = myArray.join();  
console.log(myArray); // parent,child,dog

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

var myArray = ["apples", "oranges", "pears"];  
myArray = myArray.join("|");  
console.log(myArray); // apples|oranges|pears

 

Продолжение следует!

Автор статьи: Alex. Категория: JavaScript
Дата публикации: 05.04.2013