конечно можно так:

Array.prototype.indexOf = function(item) {
    for (var q = 0, length = this.length; q < length; q++) {
        if (this[q] == item) return q;
    }
    return -1;
}

но в этом случае приходится бегать по всему массиву. а если он очень большой? вот бы сделать так, чтоб бегать не пришлось. может у кого-то есть мысли?

http://www.webreference.com/programming … index.html

maxmets
В общем случае никакого другого алгоритма, кроме перебора всех элементов, не может быть.

Как уже написано выше, в Firefox (вернее в JS 1.6) этот метод уже реализован.
http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:indexOf

Спасибо! ссылка особо помогла (+ разбор реализации аналогигчных методов в C#)


Lynn пишет

maxmets
В общем случае никакого другого алгоритма, кроме перебора всех элементов, не может быть.

Как уже написано выше, в Firefox (вернее в JS 1.6) этот метод уже реализован.
http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:indexOf