我有很多东西要添加到一个数组中,而且事先不知道数组的大小。我能否像C#的ArrayList一样在JavaScript中做些类似的操作,并通过myArray.Add(object);
重复执行?
我有很多东西要添加到一个数组中,而且事先不知道数组的大小。我能否像C#的ArrayList一样在JavaScript中做些类似的操作,并通过myArray.Add(object);
重复执行?
只需使用 array.push();
var array = [];
array.push(value);
这将会添加另一个项目。array.pop();
。JavaScript中没有ArrayList。
然而,Array
ECMA 5.1具有类似于“ArrayList”的功能。本答案的大部分内容直接摘自Ecma-262 Edition 5.1, The ECMAScript Language Specification的HTML呈现。
定义的数组有以下可用方法:
.toString()
- 将数组转换为字符串并返回。.toLocaleString()
- 将数组转换为本地化的字符串并返回。.concat([item1[, item2[, …]]])
- 当使用零个或多个参数item1,item2等调用concat方法时,它返回一个数组,该数组包含对象的数组元素,后跟每个参数的数组元素。.join(separator)
- 将数组的元素转换为字符串,并将这些字符串连接起来,由分隔符分隔。如果未提供分隔符,则使用单个逗号作为分隔符。.pop()
- 从数组中删除并返回最后一个元素。.push([item1[, item2[, …]]])
- 将参数按出现顺序附加到数组的末尾。调用的结果是新数组的长度。.reverse()
- 重新排列数组的元素以反转它们的顺序。该对象作为调用的结果返回。.shift()
- 从数组中删除并返回第一个元素。.slice(start, end)
- slice方法接受两个参数start和end,并返回一个数组,其中包含从元素start到(但不包括)元素end的数组元素(如果end未定义,则直到数组的末尾)。.sort(comparefn)
- 对此数组的元素进行排序。排序不一定稳定(即,相等的元素不一定保留其原始顺序)。如果comparefn未定义,则它应该是一个函数,它接受两个参数x和y,并返回负值(如果x < y),零(如果x = y)或正值(如果x > y)。.splice(start, deleteCount[, item1[, item2[, …]]])
- 当使用两个或多个参数start,deleteCount和(可选的)item1,item2等调用splice方法时,将替换数组索引start开始的deleteCount个元素为参数item1,item2等。返回一个包含已删除元素(如果有)的Array对象。.unshift([item1[, item2[, …]]])
- 将参数前置到数组的开头,使它们在数组中的顺序与它们在参数列表中出现的顺序相同。.indexOf(searchElement[, fromIndex])
- indexOf将searchElement与数组的元素按升序比较,使用内部的Strict Equality Comparison Algorithm(11.9.6),如果在一个或多个位置找到,则返回第一个位置的索引;否则,返回-1。.lastIndexOf(searchElement[, fromIndex])
- lastIndexOf将searchElement与数组的元素按降序比较,使用内部的Strict Equality Comparison Algorithm(11.9.6),如果在一个或多个位置找到,则返回最后一个位置的索引;否则,返回-1。.every(callbackfn[, thisArg])
- callbackfn应该是一个接受三个参数并返回可强制转换为布尔值true或false的函数。对于数组中存在的每个元素,every以升序调用一次callbackfn,直到找到其中一个callbackfn返回false的元素。如果找到这样的元素,则every立即返回false。否则,如果callbackfn对所有元素都返回true,则every将返回true。.some(callbackfn[, thisArg])
- callbackfn应该是一个
使用 JavaScript,所有数组都是灵活的。 您可以简单地执行以下操作:
var myArray = [];
myArray.push(object);
myArray.push(anotherObject);
// ...
在 JavaScript 中,数组非常灵活,您可以执行以下操作:
var myArray = new Array();
myArray.push("string 1");
myArray.push("string 2");
array.splice(index, 1)
可以移除在 index
处的元素。 - countuniquevar A=[10,20,30,40];
A[A.length]=50;
JavaScript使用动态数组,不需要事先声明大小。
您可以随意向数组中添加元素,JavaScript运行时会自动处理内存分配和垃圾回收。
var array=[];
array.push();
对于ArrayList、Object或Array,您需要使用JSON进行转换; 使用以下代码将其序列化为JSON:
var serializedMyObj = JSON.stringify(myObj);
试试这个,也许可以帮助你,它可以做你想要的事情:
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>
push()
方法,它将给定对象添加到数组的末尾。JS数组非常灵活,您可以在不事先指定其长度的情况下将任意数量的对象推送到数组中。此外,不同类型的对象可以推送到同一数组中。只需使用 array.push(something);
。在这方面,JavaScript 数组就像 ArrayLists - 它们可以像具有灵活长度 (与 Java 数组不同) 的数组一样处理。