Javascript中有一个数组列表吗?

我有一堆我想要添加到数组中的东西,我不知道数组的大小将事先。 我可以做类似于JavaScript中的C#arraylist的东西,并做myArray.Add(object); 反复上?

只需使用array.push();

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

这将添加另一个项目。

取一个,使用array.pop();

链接到JavaScript数组: https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array

在JavaScript中没有ArrayList。

然而, Array ECMA 5.1具有与“ArrayList”类似的function。 这个答案的大部分是从Ecma-262版本5.1,ECMAScript语言规范的HTML渲染中逐字逐句提取的。

定义的数组有以下方法可用:

  • .toString ( )
  • .toLocaleString ( )
  • .concat ( [ item1 [ , item2 [ , … ] ] ] )

    当使用零个或多个参数item1,item2等调用concat方法时,它将按顺序返回一个数组,其中包含对象的数组元素,后跟数组元素。

  • .join (separator)

    数组的元素被转换为string,然后将这些string连接在一起,并由分隔符的出现来分隔。 如果没有提供分隔符,则使用单个逗号作为分隔符。

  • .pop ( )

    数组的最后一个元素从数组中移除并返回。

  • .push ( [ item1 [ , item2 [ , … ] ] ] )

    参数按照它们出现的顺序附加到数组的末尾。 数组的新长度将作为调用的结果返回。“

  • .reverse ( )

    数组的元素被重新排列,以便颠倒它们的顺序。 该对象作为调用的结果返回。

  • .shift ( )

    数组的第一个元素从数组中移除并返回。“

  • .slice (start, end)

    slice方法接受两个参数start和end,并返回一个数组,其中包含从元素开始到元素结束的数组元素(如果end未定义,则返回数组末尾)。

  • .sort (comparefn)

    这个数组的元素是sorting的。 sorting不一定是稳定的(即比较相等的元素不一定保持原来的顺序)。 如果comparefn不是未定义的,它应该是一个接受两个参数x和y的函数,如果x <y则返回负值,如果x = y则返回0,如果x> y则返回正值。

  • .splice (start, deleteCount [ , item1 [ , item2 [ , … ] ] ] )

    当使用两个或多个参数start,deleteCount和(可选)item1,item2等来调用拼接方法时,从数组索引start开始的数组的deleteCount元素将被参数item1,item2等replace。Array对象包含已删除的元素(如果有的话)被返回。

  • .unshift ( [ item1 [ , item2 [ , … ] ] ] )

    参数被预置在数组的开头,这样它们在数组中的顺序与它们在参数列表中出现的顺序相同。

  • .indexOf ( searchElement [ , fromIndex ] )

    indexOf使用内部严格平等比较algorithm(11.9.6)将searchElement与数组的元素进行升序比较,如果在一个或多个位置find,则返回第一个这样的位置的索引; 否则返回-1。

  • .lastIndexOf ( searchElement [ , fromIndex ] )

    lastIndexOf使用内部严格平等比较algorithm(11.9.6)以降序比较searchElement和数组元素,如果在一个或多个位置find,则返回最后一个这样的位置的索引; 否则返回-1。

  • .every ( callbackfn [ , thisArg ] )

    callbackfn应该是一个接受三个参数的函数,并返回一个强制为布尔值true或false的值。 每次为数组中存在的每个元素调用callbackfn一次,直到find一个callbackfn返回false的地方。 如果find这样的元素,每个都立即返回false。 否则,如果callbackfn为所有元素返回true,则每个元素都将返回true。

  • .some ( callbackfn [ , thisArg ] )

    callbackfn应该是一个接受三个参数的函数,并返回一个强制为布尔值true或false的值。 一些为数组中的每个元素调用callbackfn一次,直到find一个callbackfn返回true的地方。 如果find这样的元素,有些立即返回true。 否则,一些返回false。

  • .forEach ( callbackfn [ , thisArg ] )

    callbackfn应该是一个接受三个参数的函数。 forEach按升序为每个存在于数组中的元素调用一次callbackfn。

  • .map ( callbackfn [ , thisArg ] )

    callbackfn应该是一个接受三个参数的函数。 映射为数组中的每个元素调用一次callbackfn,按升序排列,并从结果中构造一个新的Array。

  • .filter ( callbackfn [ , thisArg ] )

    callbackfn应该是一个接受三个参数的函数,并返回一个强制为布尔值true或false的值。 filter会按升序为数组中的每个元素调用一次callbackfn,并为callbackfn返回true构造一个所有值的新数组。

  • .reduce ( callbackfn [ , initialValue ] )

    callbackfn应该是一个带有四个参数的函数。 减less对callback函数的调用,对数组中的每个元素按升序进行一次调用。

  • .reduceRight ( callbackfn [ , initialValue ] )

    callbackfn应该是一个带有四个参数的函数。 reduceRight作为一个函数,为数组中存在的每个元素按降序调用一次callback函数。

也是长度属性 。

用JavaScript所有的数组是灵活的。 你可以简单地做如下的事情:

 var myArray = []; myArray.push(object); myArray.push(anotherObject); // ... 

数组在JS中非常灵活,你可以这样做:

 var myArray = new Array(); myArray.push("string 1"); myArray.push("string 2"); 

JavaScript使用dynamic数组,不需要事先声明大小

您可以按需要多次推送和切换到数组,JavaScript将为您处理分配和内容

你甚至不需要推,你可以做这样的事情 –

 var A=[10,20,30,40]; A[A.length]=50; 

在Java脚本中,你声明如下的数组:

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

并为arraylist或对象或数组,你必须使用JSON; 并使用json使用以下代码对其进行序列化:

  var serializedMyObj = JSON.stringify(myObj); 

使用javascript数组push()方法,它将给定的对象添加到数组的末尾。 JS数组非常灵活,你可以在数组中插入任意数量的对象,而不必事先指定它的长度。 而且,不同types的对象可以被推送到相同的数组中。

只要使用array.push(something); 。 Javascript数组就像ArrayLists在这方面 – 他们可以被视为他们有一个灵活的长度(不像Java数组)。