Existe-t-il une arraylist en Javascript?

92

J'ai un tas de choses que je veux ajouter dans un tableau, et je ne sais pas à l'avance quelle sera la taille du tableau. Puis-je faire quelque chose de similaire à l'arraylist c # en javascript, et le faire à myArray.Add(object);plusieurs reprises?

NibblyPig
la source

Réponses:

145

utilisez simplement array.push ();

var array = [];


array.push(value);

Cela lui ajoutera un autre élément.

Pour en enlever un, utilisez array.pop();

Lien vers les tableaux JavaScript: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array

kemiller2002
la source
Le lien n'est plus disponible.
sabsab
Vous pouvez ajouter autant de données que vous le souhaitez dans un tableau - arr.push (element1 [, ... [, elementN]]) - developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
CarlosZ
51

Il n'y a pas de ArrayList en javascript.

Il existe cependant ArrayECMA 5.1 qui a des fonctionnalités similaires à une "ArrayList". La majorité de cette réponse est tirée textuellement du rendu HTML d' Ecma-262 Edition 5.1, la spécification du langage ECMAScript .

Les tableaux définis ont les méthodes suivantes disponibles:

  • .toString ( )
  • .toLocaleString ( )
  • .concat ( [ item1 [ , item2 [ , … ] ] ] )
    Lorsque la méthode concat est appelée avec zéro ou plusieurs arguments item1, item2, etc., elle retourne un tableau contenant les éléments du tableau de l'objet suivis par les éléments du tableau de chaque argument dans l'ordre.
  • .join (separator)
    Les éléments du tableau sont convertis en chaînes, et ces chaînes sont ensuite concaténées, séparées par des occurrences du séparateur. Si aucun séparateur n'est fourni, une seule virgule est utilisée comme séparateur.
  • .pop ( )
    Le dernier élément du tableau est supprimé du tableau et renvoyé.
  • .push ( [ item1 [ , item2 [ , … ] ] ] )
    Les arguments sont ajoutés à la fin du tableau, dans l'ordre dans lequel ils apparaissent. La nouvelle longueur du tableau est renvoyée à la suite de l'appel. "
  • .reverse ( )
    Les éléments du tableau sont réorganisés de manière à inverser leur ordre. L'objet est renvoyé à la suite de l'appel.
  • .shift ( )
    Le premier élément du tableau est supprimé du tableau et renvoyé. "
  • .slice (start, end)
    La méthode slice prend deux arguments, start et end, et retourne un tableau contenant les éléments du tableau depuis le début de l'élément jusqu'à, mais sans inclure, la fin de l'élément (ou jusqu'à la fin du tableau si la fin n'est pas définie).
  • .sort (comparefn)
    Les éléments de ce tableau sont triés. Le tri n'est pas nécessairement stable (c'est-à-dire que les éléments qui se comparent égaux ne restent pas nécessairement dans leur ordre d'origine). Si comparefn n'est pas indéfini, il doit s'agir d'une fonction qui accepte deux arguments x et y et renvoie une valeur négative si x <y, zéro si x = y ou une valeur positive si x> y.
  • .splice (start, deleteCount [ , item1 [ , item2 [ , … ] ] ] )
    Lorsque la méthode d'épissure est appelée avec deux ou plusieurs arguments start, deleteCount et (facultativement) item1, item2, etc., les éléments deleteCount du tableau commençant au début de l'index du tableau sont remplacés par les arguments item1, item2, etc. Un objet Array contenant les éléments supprimés (le cas échéant) est renvoyé.
  • .unshift ( [ item1 [ , item2 [ , … ] ] ] )
    Les arguments sont ajoutés au début du tableau, de sorte que leur ordre dans le tableau est le même que l'ordre dans lequel ils apparaissent dans la liste d'arguments.
  • .indexOf ( searchElement [ , fromIndex ] )
    indexOf compare searchElement aux éléments du tableau, dans l'ordre croissant, en utilisant l'algorithme interne de comparaison d'égalité stricte (11.9.6), et s'il est trouvé à une ou plusieurs positions, renvoie l'index de la première de ces positions; sinon, -1 est renvoyé.
  • .lastIndexOf ( searchElement [ , fromIndex ] )
    lastIndexOf compare searchElement aux éléments du tableau dans l'ordre décroissant à l'aide de l'algorithme interne de comparaison d'égalité stricte (11.9.6), et s'il est trouvé à une ou plusieurs positions, renvoie l'index de la dernière de ces positions; sinon, -1 est renvoyé.
  • .every ( callbackfn [ , thisArg ] )
    callbackfn doit être une fonction qui accepte trois arguments et renvoie une valeur qui est coercible à la valeur booléenne true ou false. every appelle callbackfn une fois pour chaque élément présent dans le tableau, par ordre croissant, jusqu'à ce qu'il en trouve un où callbackfn renvoie false. Si un tel élément est trouvé, tout renvoie immédiatement false. Sinon, si callbackfn retourne true pour tous les éléments, chacun retournera true.
  • .some ( callbackfn [ , thisArg ] )
    callbackfn doit être une fonction qui accepte trois arguments et renvoie une valeur qui est coercible à la valeur booléenne true ou false. certains appelle callbackfn une fois pour chaque élément présent dans le tableau, par ordre croissant, jusqu'à ce qu'il en trouve un où callbackfn renvoie true. Si un tel élément est trouvé, certains retournent immédiatement true. Sinon, certains renvoie faux.
  • .forEach ( callbackfn [ , thisArg ] )
    callbackfn doit être une fonction qui accepte trois arguments. forEach appelle callbackfn une fois pour chaque élément présent dans le tableau, dans l'ordre croissant.
  • .map ( callbackfn [ , thisArg ] )
    callbackfn doit être une fonction qui accepte trois arguments. map appelle callbackfn une fois pour chaque élément du tableau, dans l'ordre croissant, et construit un nouveau tableau à partir des résultats.
  • .filter ( callbackfn [ , thisArg ] )
    callbackfn doit être une fonction qui accepte trois arguments et renvoie une valeur qui est coercible à la valeur booléenne true ou false. filter appelle callbackfn une fois pour chaque élément du tableau, dans l'ordre croissant, et construit un nouveau tableau de toutes les valeurs pour lesquelles callbackfn renvoie true.
  • .reduce ( callbackfn [ , initialValue ] )
    callbackfn doit être une fonction qui prend quatre arguments. réduire appelle le callback, en tant que fonction, une fois pour chaque élément présent dans le tableau, dans l'ordre croissant.
  • .reduceRight ( callbackfn [ , initialValue ] )
    callbackfn doit être une fonction qui prend quatre arguments. reductionRight appelle le callback, en tant que fonction, une fois pour chaque élément présent dans le tableau, dans l'ordre décroissant.

et aussi la propriété length .

Travis J
la source
22

Avec javascript, tous les tableaux sont flexibles. Vous pouvez simplement faire quelque chose comme ce qui suit:

var myArray = [];

myArray.push(object);
myArray.push(anotherObject);
// ...
JasonWyatt
la source
Je t'aime, même si je ne te connais pas vraiment.
sabsab
14

Les tableaux sont assez flexibles dans JS, vous pouvez faire:

var myArray = new Array();
myArray.push("string 1");
myArray.push("string 2");
JonoW
la source
Cependant, vous ne pouvez pas facilement supprimer un élément spécifique
Jacob Sánchez
7

Vous n'avez même pas besoin de pousser, vous pouvez faire quelque chose comme ça -

var A=[10,20,30,40];

A[A.length]=50;
Kennebec
la source
5

javascript utilise des tableaux dynamiques, pas besoin de déclarer la taille au préalable

vous pouvez pousser et passer aux tableaux autant de fois que vous le souhaitez, javascript gérera l'allocation et les choses pour vous

tricot
la source
3

Dans le script Java, vous déclarez le tableau comme ci-dessous:

var array=[];
array.push();

et pour arraylist ou objet ou tableau, vous devez utiliser json; et Sérialisez-le à l'aide de json en utilisant le code suivant:

 var serializedMyObj = JSON.stringify(myObj);
Vaibhav Parmar
la source
Hey Merci d'avoir fourni des informations supplémentaires. Cette sérialisation Json a vraiment aidé
Prakash
1

Utilisez la push()méthode de tableau javascript , il ajoute l'objet donné à la fin du tableau. Les tableaux JS sont assez flexibles, vous pouvez pousser autant d'objets que vous le souhaitez dans un tableau sans spécifier sa longueur au préalable. En outre, différents types d'objets peuvent être poussés vers le même tableau.

Kirti Thorat
la source
0

Utilisez simplement array.push(something);. Les tableaux Javascript sont comme des ArrayLists à cet égard - ils peuvent être traités comme s'ils avaient une longueur flexible (contrairement aux tableaux java).

Bohème
la source
0

Essayez ceci, peut-être peut vous aider, faites ce que vous voulez:

ListArray

var listArray = new ListArray();
let element = {name: 'Edy', age: 27, country: "Brazil"};
let element2 = {name: 'Marcus', age: 27, country: "Brazil"};
listArray.push(element);
listArray.push(element2);

console.log(listArray.array)
<script src="https://marcusvi200.github.io/list-array/script/ListArray.js"></script>

Marcus Vinicius Oliveira Silva
la source