如何在javascript集合中添加动态项目?

Ram*_*ngh 2 javascript asp.net collections

我想在 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
Run Code Online (Sandbox Code Playgroud)

我想将此集合与特定值进行比较。还提供比较该值的语法。喜欢

myList.Contains(val1)
Run Code Online (Sandbox Code Playgroud)

Vin*_*ayC 10

不确定要在集合中存储什么,但是在 java-script 中,您有两种选择来实现集合。

首先是使用数组。例如,

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)
Run Code Online (Sandbox Code Playgroud)

要检查是否存在任何元素,您必须在每个索引处比较元素的数组上运行循环。

另一种方法是使用 java-script 对象作为哈希表。本质上,每个 java-script 对象都可以有多个本质上是名称-值对的属性。例如,

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
}
Run Code Online (Sandbox Code Playgroud)