Adicionar ao Array jQuery

103

Eu sei como inicializar um, mas como adicionar itens a um Array? Ouvi dizer que era push()talvez? Não consigo encontrar ...

teste
fonte
O que você deseja adicionar a qual array?
Rocket Hazmat
4
Você está perguntando como adicionar elementos a um Array ou como adicionar elementos a um objeto jQuery?
Phrogz
@Jahkr: Então o que o jQuery tem a ver com isso?
Lightness Races in Orbit
Estou fazendo os arrays em jQuery ...
teste de
3
@Jahkr: Você provavelmente também está sentado em uma cadeira enquanto faz isso, mas isso não significa que a questão seja relevante para a Ikea. Não se engane pensando que jQuery é uma linguagem separada; não é. Você ainda está escrevendo Javascript. Acontece que você está usando coisas da biblioteca jQuery (em outras partes do seu código).
Lightness Races in Orbit

Respostas:

301

Para matrizes de JavaScript, você usa push().

var a = [];
a.push(12);
a.push(32);

Para objetos jQuery, existe add().

$('div.test').add('p.blue');

Observe que, embora push()modifique o array original no local, add()retorne um novo objeto jQuery, ele não modifica o original.

Foguete Hazmat
fonte
15
1 para explicar o método JavaScript e jQuery e sua diferença fundamental. Eu vim aqui para $.add()buscar um pouco mais.
Sam
28

push é um método nativo de javascript. Você poderia usá-lo assim:

var array = [1, 2, 3];
array.push(4); // array now is [1, 2, 3, 4]
array.push(5, 6, 7); // array now is [1, 2, 3, 4, 5, 6, 7]
Darin Dimitrov
fonte
13

Você está certo. Isso não tem nada a ver com jQuery.

var myArray = [];
myArray.push("foo");
// myArray now contains "foo" at index 0.
Sholsinger
fonte
bom, mas como adiciono foo no índice 'customString'?
Andrei Cristian Prodan
ha! Eu encontrei meuArray.push ({'index': 'value'});
Andrei Cristian Prodan
Mas isso não é mais array, myArray se transforma em objeto?
SubjectX
2

Para matrizes JavaScript, você usa as funções push () e concat ().

var array = [1, 2, 3];
array.push(4, 5);         //use push for appending a single array.




var array1 = [1, 2, 3];
var array2 = [4, 5, 6];

var array3 = array1.concat(array2);   //It is better use concat for appending more then one array.
saroj
fonte