Недавно я написал пост » 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
Продолжение следует!