262 votes

Ajouter une nouvelle valeur à un tableau existant en JavaScript

En PHP, j'aimerais faire quelque chose comme:

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

Comment pourrais-je faire la même chose en JavaScript?

389voto

David Points 36241

Vous n'avez pas besoin de jQuery pour que. L'utilisation régulière de javascript

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

Remarque: En javascript, vous pouvez également utiliser des Objets comme des Tableaux, mais encore d'avoir accès à toute la gamme des prototypes. Cela rend l'objet se comporter comme un tableau:

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

va créer un objet qui ressemble à ceci:

{
    0: 'value',
    length: 1
}

Vous pouvez accéder à la vaules comme un tableau normal.f.ex - obj[0].

108voto

Mike Points 2037

Cela n'a rien à faire avec jQuery, JavaScript en général.

Pour créer un tableau en JavaScript:

var a = [];

Ou:

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

Pour ajouter des valeurs à la fin du tableau existant:

a.push('value4');

Pour créer un nouveau tableau, vous devriez vraiment utiliser [] au lieu de new Array() , pour les raisons suivantes:

  • new Array(1, 2) est équivalent à [1, 2], mais new Array(1) est pas équivalent à [1]. Celle-ci est plus proche de l' [undefined], depuis un seul argument entier à l' Array constructeur indique le tableau désiré longueur.
  • Array, comme tous les autres JavaScript intégrés de classe, n'est pas un mot-clé. Donc, quelqu'un pourrait facilement définir Array dans votre code pour faire autre chose que de construire un tableau.

34voto

nemisj Points 2966

Tableau est un JavaScript natif de l'objet, pourquoi ne pas simplement essayer de l'utilisation de l'API? Sachant API sur son propre, vous gagnerez du temps si vous changez pur JavaScript ou un autre cadre.

Il existe un certain nombre de possibilités différentes, donc, utiliser l'une qui vise surtout à vos besoins.

La création d'un tableau avec les valeurs:

var array = ["value1", "value2", "value3"];

Ajouter des valeurs à la fin

var array = [];
array.push("value1");
array.push("value2");
array.push("value3");

En ajoutant les valeurs de la commencer:

var array = [];
array.unshift("value1");
array.unshift("value2");
array.unshift("value3");

L'ajout de valeurs d'index:

var array = [];
array[index] = "value1";

ou à l'aide d'épissure

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

Choisissez celui dont vous avez besoin.

12voto

mopoke Points 6437

Vous pouvez utiliser l' .push() méthode (qui est la norme JavaScript)

par exemple

var primates = new Array();
primates.push('monkey');
primates.push('chimp');

12voto

nickf Points 185423

Il existe plusieurs manières:

L'instanciation de la matrice:

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

En poussant vers le tableau:

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]

À l'aide de .push() est la meilleure manière de les ajouter à un tableau, puisque vous n'avez pas besoin de savoir combien d'éléments sont déjà là, et vous pouvez ajouter de nombreux éléments dans un seul appel de fonction.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X