ListOrderedMap / ArrayMap как структура данных в Javascript - PullRequest
1 голос
/ 28 июля 2011

Я ищу структуру данных JavaScript, такую ​​как ListOrderedMap: http://commons.apache.org/collections/apidocs/org/apache/commons/collections/map/ListOrderedMap.html

Например, необходимо иметь возможность добавлять объект по индексу, получать индекс для объекта и иметь возможность искатьобъект по его идентификатору.

Все библиотеки, которые я смог найти, не могли добавить объект по определенному индексу.

Ответы [ 2 ]

1 голос
/ 28 июля 2011

Как то так?Javascript имеет отличные возможности для массивов и наборов ключей, а также их комбинаций.

function LAM() {
    this.ids = {}
    this.indexes = []
}

LAM.prototype.put = function(myObj, id, ix) {
   this.ids[id]  = myObj
   this.indexes[ix] = id
}

LAM.prototype.getByIndex = function(ix) {
    return this.ids[this.indexes[ix]]
}

На практике:

? a = new LAM

? a.put("jhgf", "WE", 3)

? a.ids.WE
    jhgf

? a.getByIndex(3)
    jhgf
0 голосов
/ 18 апреля 2012

Поскольку в Javascript такой структуры данных нет, другим решением является использование GWT и использование исходного кода Java для ListOrderedMap.java.

...