我想在javascript中添加一个集合中的元素数量,如下面的vb代码所做
Dim myList As New List(Of String)
Dim i As Integer
For i = 0 To rep_UnAssignComps.Items.Count
myList.Add(i)
Next
我想将此集合与特定值进行比较。还提供了用于比较值的语法。像
myList.Contains(val1)
答案 0 :(得分:3)
不确定要存储在集合中的内容,但在java脚本中,您有两种选择来实现集合。
首先是使用arrays。例如,
var arr = []; // empty array
arr.push('A');
arr.push('B');
arr.push('C');
alert(arr.length); // alerts 3
alert(arr[1]); // alerts B (zero based indexing)
要检查是否存在任何元素,您必须在每个索引处的数组比较元素上运行循环。
另一种方法是使用java-script对象作为哈希表。实质上,每个java脚本对象都可以具有多个基本上是名称 - 值对的属性。例如,
var o = { } // empty object
o["prop1"] = "A"; // Added property named prop1 with value "A"
o["prop2"] = "B"; // Added property named prop2 with value "B"
o["prop3"] = "C"; // Added property named prop2 with value "C"
alert(o["prop1"]); // alerts A
alert(o.prop2); // alerts B - notice alternate syntax
alert(o["prop4"]); // alerts undefined - because we are accessing non-existent property
if (o["prop3"]) {
alert("prop3 exists"); // to check for some property
}
for (p in o) { // iterate all properties
alert(p); // alerts property name
alert(o[p]); // alerts property value
}
答案 1 :(得分:0)
答案 2 :(得分:0)
var myList = []
var i = 0;
如果“rep_UnAssignComps”是用于循环的数组,则用于
if (rep_UnAssignComps instanceof Array) {
for (i = 0; i < rep_UnAssignComps.length; i++){
myList.push(i);
}
}else {
for(var name in rep_UnAssignComps){
if (rep_UnAssignComps.hasOwnProperty(name)){
myList.push(i);
i++;
}
}
}
比较使用:
//Returns the first index at which a given element can be found in the array, or -1 if it is not present
myList.indexOf(val1);