Как добавить динамические элементы в коллекции в JavaScript? - PullRequest
0 голосов
/ 19 сентября 2011

я хочу добавить количество элементов в коллекции в 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)

Ответы [ 3 ]

3 голосов
/ 19 сентября 2011

Не уверен, что вы хотите сохранить в коллекции, но в java-скрипте у вас есть два варианта для достижения коллекций.

Сначала нужно использовать массивы . Например,

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-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
}
0 голосов
/ 19 сентября 2011
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);
0 голосов
/ 19 сентября 2011

Использование push метод http://www.w3schools.com/jsref/jsref_push.asp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...