Adicionar novo valor a um array existente em JavaScript

Em PHP, I'faria algo como:

$array = array();
$array[] = "value1";
$array[] = "value2";
$array[] = "value3";

Como eu faria a mesma coisa em JavaScript?

Solução

Você não'não precisa de jQuery para isso. Use o javascript normal

var arr = new Array();
// or var arr = [];
arr.push('value1');
arr.push('value2');

Nota: Em javascript, você também pode usar Objetos como Arrays, mas ainda tem acesso aos protótipos do Array. Isto faz com que o objeto se comporte como um Array:

var obj = new Object();
Array.prototype.push.call(obj, 'value');

vai criar um objecto que se parece:

{
    0: 'value',
    length: 1
}

Você pode acessar os vaules como um array normal f.ex obj[0].

Comentários (8)

Isto não tem nada a ver com jQuery, apenas JavaScript em geral.

Para criar um array em JavaScript:

var a = [];

Ou..:

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

Para anexar valores no final do array existente:

a.push('value4');

Para criar um novo array, você deve realmente utilizar []new Array()` pelas seguintes razões:

  • new Array(1, 2) é equivalente a [1, 2], mas new Array(1) é não equivalente a [1]. O último está mais próximo de [indefinido], já que um único argumento inteiro para o construtor do Array indica o comprimento desejado do array.
  • Array, assim como qualquer outra classe JavaScript embutida, não é uma palavra-chave. Portanto, alguém poderia facilmente definir Array em seu código para fazer algo além de construir um array.
Comentários (1)

Você pode utilizar o método .push() (que é o JavaScript padrão)

por exemplo

var primates = new Array();
primates.push('monkey');
primates.push('chimp');
Comentários (0)