Há um arraylist em Javascript?

Tenho um monte de coisas que quero adicionar em uma matriz, e eu não sei qual o tamanho da matriz será de antemão. Posso fazer algo semelhante ao arraylist c# em javascript, e fazer {[[0]} repetidamente nele?

 75
Author: NibblyPig, 2009-11-17

9 answers

Usa apenas o array.empurre ();

var array = [];


array.push(value);
Isto adiciona-lhe outro item.

Para tirar uma, use array.pop();

Ligação às matrizes de JavaScript: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array

 121
Author: kemiller2002, 2017-11-24 12:15:28
Não há um ArrayList em javascript. No entanto,Array ECMA 5.1 que tem uma funcionalidade semelhante a um "ArrayList". A maioria desta resposta é tirada textualmente da versão HTML de Ecma-262 Edition 5.1, A especificação da linguagem ECMAScript .

As matrizes definidas têm os seguintes métodos: disponível:

  • .toString ( )
  • .toLocaleString ( )
  • .concat ( [ item1 [ , item2 [ , … ] ] ] )
    Quando o método concat é chamado com zero ou mais argumentos item1, item2, etc., ele retorna um array contendo os elementos array do objeto seguido pelos elementos array de cada argumento em ordem.
  • .join (separator)
    Os elementos da matriz são convertidos em cadeias, e estas cadeias são então concatenadas, separadas por ocorrências do separador. Se não for fornecido Nenhum separador, utiliza-se uma única vírgula como separador.
  • .pop ( )
    O último elemento do array é removido do array e retornado.
  • .push ( [ item1 [ , item2 [ , … ] ] ] )
    Os argumentos são anexados ao final da matriz, na ordem em que aparecem. O novo comprimento do array é retornado como resultado da chamada."
  • .reverse ( )
    Os elementos da matriz são rearranjados de modo a reverter a sua ordem. O objeto é devolvido como resultado da chamada.
  • .shift ( )
    O primeiro elemento do array é removido do array e retornado."
  • .slice (start, end)
    O método slice leva dois argumentos, Iniciar e terminar, e retorna um array contendo os elementos do array do elemento start até, mas não incluindo, o elemento end (ou através do fim do array se o fim é indefinido).
  • .sort (comparefn)
    Os elementos deste a matriz está ordenada. A ordenação não é necessariamente estável (ou seja, elementos que comparam igual não necessariamente permanecem em sua ordem original). Se o comparefn não estiver indefinido, deverá ser uma função que aceite dois argumentos x e y e retorne um valor negativo SE x Y.
  • .splice (start, deleteCount [ , item1 [ , item2 [ , … ] ] ] )
    Quando o método splice é chamado com dois ou mais argumentos iniciar, deleteCount e (opcionalmente) item1, item2, etc., the deleteCount elementos do array começando no array index start são substituídos pelos argumentos item1, item2, etc. Um objeto Array contendo os elementos apagados (se houver) é devolvido.
  • .unshift ( [ item1 [ , item2 [ , … ] ] ] )
    Os argumentos são pré-adicionados ao início do array, de modo que sua ordem dentro do array é a mesma ordem na qual eles aparecem na lista de argumentos.
  • .indexOf ( searchElement [ , fromIndex ] )
    IndexOf compara searchElement com os elementos do array, em ascendente ordem, usando o algoritmo interno de comparação de igualdade estrita (11.9.6), e se encontrado em uma ou mais posições, retorna o índice da primeira posição; caso contrário, -1 é retornado.
  • .lastIndexOf ( searchElement [ , fromIndex ] )
    LastIndexOf compara searchElement para os elementos do array em ordem decrescente utilizando o interno Estrita Igualdade Algoritmo de Comparação (11.9.6), e se encontrou em uma ou mais posições, retorna o índice da última posição; caso contrário, -1 é indicar.
  • .every ( callbackfn [ , thisArg ] )
    Callbackfn deve ser uma função que aceita três argumentos e retorna um valor que é coercível ao valor booleano verdadeiro ou falso. todas as chamadas callbackfn uma vez para cada elemento presente na matriz, em ordem ascendente, até encontrar um onde callbackfn retorna false. Se tal elemento for encontrado, todo imediatamente retorna falso. Caso contrário, se callbackfn retornasse verdadeiro para todos os elementos, todos retornariam verdadeiro.
  • .some ( callbackfn [ , thisArg ] )
    Callbackfn deve ser uma função que aceita três argumentos e retorna um valor que é coercível ao valor booleano verdadeiro ou falso. algumas chamadas callbackfn uma vez para cada elemento presente no array, em ordem ascendente, até que ele encontre um onde callbackfn retorna verdadeiro. Se tal elemento for encontrado, alguns retornam imediatamente verdadeiro. Caso contrário, alguns retornam falsos.
  • .forEach ( callbackfn [ , thisArg ] )
    Callbackfn deve ser uma função que Aceita três argumentos. forEach callbackfn once for each element present in the array, in ascending order.
  • .map ( callbackfn [ , thisArg ] )
    Callbackfn deve ser uma função que aceita três argumentos. o mapa chama callbackfn uma vez para cada elemento na matriz, em ordem ascendente, e constrói um novo Array a partir dos resultados.
  • .filter ( callbackfn [ , thisArg ] )
    Callbackfn deve ser uma função que aceita três argumentos e retorna um valor que é coercível para o Valor booleano verdadeiro ou falso. filtrar chamadas callbackfn uma vez para cada elemento na matriz, em ordem ascendente, e constrói um novo array de todos os valores para os quais callbackfn retorna verdadeiro.
  • .reduce ( callbackfn [ , initialValue ] )
    Callbackfn deve ser uma função que leva quatro argumentos. reduzir as chamadas de volta, como uma função, uma vez para cada elemento presente na matriz, em ordem ascendente.
  • .reduceRight ( callbackfn [ , initialValue ] )
    Callbackfn deve ser uma função que leva quatro argumento. reduceRight chama o callback, como uma função, uma vez para cada elemento presente na matriz, em ordem descendente.

E também a propriedadede comprimento .

 42
Author: Travis J, 2013-12-16 22:48:42

Com javascript todas as matrizes são flexíveis. Você pode simplesmente fazer algo como o seguinte:

var myArray = [];

myArray.push(object);
myArray.push(anotherObject);
// ...
 22
Author: JasonWyatt, 2009-11-17 13:17:21

As matrizes são bastante flexíveis em JS, você pode fazer:

var myArray = new Array();
myArray.push("string 1");
myArray.push("string 2");
 14
Author: JonoW, 2009-11-17 13:16:38
Nem precisas de empurrar, podes fazer algo assim.
var A=[10,20,30,40];

A[A.length]=50;
 6
Author: kennebec, 2012-05-09 09:44:12

O Javascript usa matrizes dinâmicas, não é necessário declarar o tamanho de antemão

Você pode empurrar e mudar para arrays quantas vezes quiser, javascript irá lidar com a alocação e coisas para você

 5
Author: knittl, 2009-11-17 13:16:35

No programa Java, declara a lista como se segue:

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

E para arraylist ou object or array você tem que usar json; e serializá-lo usando json usando o seguinte código:

 var serializedMyObj = JSON.stringify(myObj);
 3
Author: Vaibhav Parmar, 2013-12-20 15:26:25

Usar o método javascript array push(), ele adiciona o objeto dado no final do array. As matrizes JS são bastante flexíveis, você pode empurrar quantos objetos desejar em uma matriz sem especificar o seu comprimento de antemão. Além disso, diferentes tipos de objetos podem ser empurrados para o mesmo Array.

 1
Author: Kirti Thorat, 2013-12-21 23:14:31

Usa apenas array.push(something);. Arrays Javascript são como ArrayLists a este respeito-eles podem ser tratados como eles têm um comprimento flexível (ao contrário de arrays java).

 0
Author: Bohemian, 2013-12-23 14:40:43