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数组)。