2011-09-19 26 views
0

我想添加元素數量在JavaScript集合中,如下面的VB代碼如何在javascript中添加動態項集合?

Dim myList As New List(Of String) 


    Dim i As Integer 
    For i = 0 To rep_UnAssignComps.Items.Count 
     myList.Add(i) 
    Next 

做我想這個集合與特定value.provide我語法也比較值進行比較。像

myList.Contains(val1) 

回答

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 
} 
0
var myList = [] 
var i = 0; 

如果 「rep_UnAssignComps」 是一個數組使用for循環別的用途爲

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);