Loading:


    JavaScript Funkcja indexOf (Metoda obiektu: Array)

    Zwraca pierwszy (najmniejszy) indeks elementu w tablicy równego podanej wartości lub -1, gdy nie znaleziono takiego elementu.

    Metoda obiektu: Array

    Składnia


    var index = array.indexOf(searchElement[, fromIndex]);



    Parametry


    searchElement - Element do znalezienia w tablicy.


    fromIndex  -Indeks od którego ma zacząć się wyszukiwanie. Domyślnie 0 - przeszukana zostanie cała tablica. Jeżeli indeks będzie większy lub równy ilości elementów tablica nie zostanie przeszukana - funkcja zwróci -1. Jeżeli podana zostanie liczba ujemna zostanie dodany do niej rozmiar tablicy (np. podanie -5 oznacza przeszukiwanie od 5 elementu od końca). Jeżeli tak obliczony indeks jest mniejszy od zera przeszukana zostanie cała tablica. Uwaga, wyszukiwanie dalej będzie się odbywać w kierunku rosnących indeksów.


    Opis


    indexOf porównuje searchElement z elementami tablicy używając ścisłego porównania (podobnie jak w przypadku operatora ===).

    Kompatybilność


    indexOf jest rozszerzeniem JavaScript dla standardu ECMA-262, więc może nie być obecny w innych implementacjach tego standardu. Można to obejść, dopisując poniższy kod na początku skryptu, zezwalający na użycie indexOf w implementacji ECMA-262, które nie wspierają tego natywnie.

    if (!Array.prototype.indexOf)
    {
      Array.prototype.indexOf = function(elt /*, from*/)
      {
        var len = this.length;

        var from = Number(arguments[1]) || 0;
        from = (from < 0)
             ? Math.ceil(from)
             : Math.floor(from);
        if (from < 0)
          from += len;

        for (; from < len; from++)
        {
          if (from in this &&
              this[from] === elt)
            return from;
        }
        return -1;
      };
    }




    Należy zwrócić uwagę, że ta implementacja ma na celu całkowitą zgodność z indexOf występującą w Firefoksie i silniku JavaScript SpiderMonkey, włączając w to przypadki w których przesyłany do indexOf indeks nie jest wartością liczbową. Jeśli masz zamiar wykorzystać przytoczone rozwiązanie w rzeczywistych aplikacjach, możesz nie potrzebować całego powyższego kodu (części odpowiedzialnej za obliczenie wartości from).

    Przykłady


    Przykład: Zastosowanie indexOf


    Następujący przykład stosuje indexOf do znalezienia pierwszego wystąpienia elementów.

    array = [2, 5, 9];

    index = array.indexOf(2);

    // index jest 0

    index = array.indexOf(7);

    // index jest -1



    Przykład: Wyszukiwanie wszystkich wystąpień w tablicy


    Poniższy przykład używa indexOf do znalezienia wszystkich wystąpień elementu w tablicy oraz dodaje ich indeksy do drugiej tablicy używając metody push.

    indices = [];

    idx = array.indexOf(element)

    while (idx != -1) {

       indices.push(idx);

       idx = array.indexOf(element, idx + 1);

     



    Napisz Artyku³

    Listing

    niema




    Dodano przez: igor
    Ranga: Administrator serwisu Punktów: 0
    Komentarze użytkowników
      • Tre¶æ komentarza
        Kod do komentarza (opcjonalnie)
        PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
        Autor
        Token
        token

         

         








    funkcje.net
    Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2025 v.1.5 | design: diviXdesign & rainbowcolors