【发布时间】:2013-10-23 19:16:53
【问题描述】:
如果要查看官方 API 中的 Java 类 Vector,有一些便利,例如创建 Vector 对象而不指定其初始长度。
可以直接向其中添加元素,而无需指定索引(如数组)。
也可以使用 .contains 来判断 Vector 集合是否包含该元素,而无需循环。
Javascript中有这样的类型吗?
【问题讨论】:
标签: java javascript html
如果要查看官方 API 中的 Java 类 Vector,有一些便利,例如创建 Vector 对象而不指定其初始长度。
可以直接向其中添加元素,而无需指定索引(如数组)。
也可以使用 .contains 来判断 Vector 集合是否包含该元素,而无需循环。
Javascript中有这样的类型吗?
【问题讨论】:
标签: java javascript html
JavaScript 数组没有固定长度,本质上等同于 Vector。
.length 属性跟踪最大的数字索引属性。.indexOf 方法类似于.contains()。 (不要在 Java 或 JavaScript 中大量使用它。例如,Ant 版本 6 在大型项目中存在可怕的性能问题,因为代码被编写为或多或少使用 Maps 等 ArrayList 实例。如果你有任何大小且需要经常查找的集合,请使用更好的数据结构。)要将元素添加到末尾,您可以执行以下任一操作:
someArray.push( newValue );
或:
someArray[someArray.length] = newValue;
【讨论】:
你可以创建Array而不指定它的大小:
var array = [];
你可以在没有索引的情况下推送它:
array.push(value);
您可以检查它是否包含特定值,如下所示:
array.indexOf(value); // returns -1 if it didn't find a match
如果您需要了解有关 JavaScript 中数组的更多信息(并且仅关于它们),请查看 spec。
【讨论】:
你所追求的基本上是一个简单的 JS 数组。您可以使用push() 添加到数组中,而不必担心索引。 indexOf() 的操作类似于 contains()。
看看:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array
【讨论】: