В PHP я бы сделал что-то вроде:
$array = array();
$array[] = "value1";
$array[] = "value2";
$array[] = "value3";
Как бы я сделал то же самое в JavaScript?
Вам не нужен jQuery для этого. Используйте обычный JavaScript
var arr = new Array();
// or var arr = [];
arr.push('value1');
arr.push('value2');
Примечание. В javascript вы также можете использовать объекты в качестве массивов, но при этом иметь доступ к прототипам массива. Это заставляет объект вести себя как массив:
var obj = new Object();
Array.prototype.push.call(obj, 'value');
создаст объект, который выглядит как:
{
0: 'value',
length: 1
}
Вы можете получить доступ к vaules, как обычный массив f.ex obj [0]
.
Это не имеет ничего общего с jQuery, просто JavaScript в целом.
Чтобы создать массив в JavaScript:
var a = [];
Или:
var a = ['value1', 'value2', 'value3'];
Чтобы добавить значения в конец существующего массива:
a.push('value4');
Чтобы создать новый массив, вы должны действительно использовать []
вместо new Array ()
по следующим причинам:
[не определено]
, поскольку один целочисленный аргумент конструктору Array
указывает желаемую длину массива.Array
, как и любой другой встроенный класс JavaScript, не является ключевым словом. Поэтому кто-то может легко определить «Массив» в вашем коде, чтобы сделать что-то, кроме создания массива.Массив - это собственный объект JavaScript, почему бы вам просто не попробовать использовать его API? Знание API само по себе сэкономит ваше время, когда вы переключитесь на чистый JavaScript или другую структуру.
Существует множество различных возможностей, поэтому используйте тот, который в основном нацелен на ваши потребности.
Создание массива со значениями:
var array = ["value1", "value2", "value3"];
Добавление значений к концу
var array = [];
array.push("value1");
array.push("value2");
array.push("value3");
Добавление значений для начала:
var array = [];
array.unshift("value1");
array.unshift("value2");
array.unshift("value3");
Добавление значений по некоторому индексу:
var array = [];
array[index] = "value1";
или с помощью сплайсинга
array.splice(index, 0, "value1", "value2", "value3");
Выберите тот, который вам нужен.
Есть несколько способов:
Обоснование массива:
var arr;
arr = new Array(); // empty array
// ---
arr = []; // empty array
// ---
arr = new Array(3);
alert(arr.length); // 3
alert(arr[0]); // undefined
// ---
arr = [3];
alert(arr.length); // 1
alert(arr[0]); // 3
Переход к массиву:
arr = [3]; // arr == [3]
arr[1] = 4; // arr == [3, 4]
arr[2] = 5; // arr == [3, 4, 5]
arr[4] = 7; // arr == [3, 4, 5, undefined, 7]
// ---
arr = [3];
arr.push(4); // arr == [3, 4]
arr.push(5); // arr == [3, 4, 5]
arr.push(6, 7, 8); // arr == [3, 4, 5, 6, 7, 8]
Использование .push ()
- лучший способ добавить в массив, поскольку вам не нужно знать, сколько элементов уже есть, и вы можете добавить много элементов в один вызов функции.
Действительно, вы должны инициализировать свой массив сразу после этого использовать командную строку array.push ().
var array = new Array();
array.push("first value");
array.push("second value");
array = ["value1", "value2", "value3"]
это не столько jquery, сколько javascript
jQuery - это абстракция JavaScript. Думайте о jQuery как о подмножестве JavaScript, предназначенном для работы с DOM. Это сказанное; Есть функции для добавления элементов в коллекцию. Я бы использовал базовый JavaScript в вашем случае, хотя:
var array;
array[0] = "value1";
array[1] = "value2";
array[2] = "value3";
Или:...
var array = ["value1", "value2", "value3"];
Или:...
var array = [];
array.push("value1");
array.push("value2");
array.push("value3");