Добавьте новое значение к существующему массиву в JavaScript [дубликат]

258
задан Luke 14 November 2012 в 23:09
поделиться

7 ответов

Для этого не нужна 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
}

Вы можете получить доступ к хранилищам так же, как и к обычному массиву f.ex obj[0].

.
384
ответ дан 23 November 2019 в 02:41
поделиться

Это не имеет ничего общего с jQuery, просто JavaScript в целом.

Для создания массива в JavaScript:

var a = [];

Или:

var a = ['value1', 'value2', 'value3'];

Для добавления значений в конец существующего массива:

a.push('value4');

Для создания нового массива действительно следует использовать [] вместо new Array() по следующим причинам:

  • новый массив(1, 2) эквивалентен [1, 2], но новый массив(1) эквивалентен , а не , как [1]. Скорее, последний ближе к [неопределенному], так как единственный целочисленный аргумент к конструктору Array указывает желаемую длину массива.
  • Array, как и любой другой встроенный класс JavaScript, не является ключевым словом. Поэтому кто-то может легко определить в вашем коде Array, чтобы сделать что-то кроме построения массива.
107
ответ дан 23 November 2019 в 02:41
поделиться

Массив - это нативный объект 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";

или с помощью splice

array.splice(index, 0, "value1", "value2", "value3");

Выберите тот, который вам нужен.

.
34
ответ дан 23 November 2019 в 02:41
поделиться

Можно использовать метод .push() (который является стандартным JavaScript)

, например

var primates = new Array();
primates.push('monkey');
primates.push('chimp');
12
ответ дан 23 November 2019 в 02:41
поделиться

Есть несколько способов:

Индикация массива:

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() является лучшим способом добавления в массив, так как вам не нужно знать, сколько элементов уже есть, и вы можете добавить много элементов за один вызов функции.

.
12
ответ дан 23 November 2019 в 02:41
поделиться
array = ["value1", "value2", "value3"]

это не столько jquery как javascript

.
2
ответ дан 23 November 2019 в 02:41
поделиться

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");
1
ответ дан 23 November 2019 в 02:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: