Loading:


JavaScript Funkcja forEach

Wykonuje dostarczoną funkcję jeden raz na każdy element tablicy.

Składnia


forEach(callback[, thisObject])


Parametry


callback -Funkcja wykonywana dla każdego elementu.


thisObject  -Obiekt na który będzie wskazywał this, gdy wykonana zostanie funkcja zwrotna callback.


Opis


Metoda forEach wykonuje dostarczoną funkcje callback raz dla każdego elementu tablicy. Funkcja callback wywoływana jest jedynie dla indeksów tablicy, którym została przypisana wartość; nie jest wywoływana dla indeksów, które zostały usunięte i tych, którym nigdy nie została przypisana żadna wartość.


Funkcja callback jest wywoływana z trzema argumentami: wartością elementu, jego indeksem i obiektem tablicy, w którym się ten element zawiera.


Jeśli parametr thisObject został dostarczony do metody forEach, będzie on wskazywany przez this dla każdego wywołania funkcji callback. W przypadku, gdy nie został on przekazany lub jego wartość jest równa null, this będzie się odnosić do obiektu globalnego połączonego z funkcją callback.


Metoda forEach nie modyfikuje tablicy na której jest wywołana.


Zakres elementów przetwarzanych przez forEach jest ustawiany przed pierwszym wywołaniem funkcji callback. Elementy dołączone do tablicy po momencie wywołania forEach są testowane przez callback. Jeśli istniejące elementy tablicy są zmieniane lub usuwane, to wartość przesyłana do funkcji callback odpowiada wartości w momencie, w którym forEach się o nie zwróci; metoda forEach nie upomina się o elementy usunięte.


Kompatybilność


forEach 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 forEach w implementacji ECMA-262, które nie wspierają tego natywnie.


if (!Array.prototype.forEach)
{
  Array.prototype.forEach = function(fun /*, thisp*/)
  {
    var len = this.length;
    if (typeof fun != "function")
      throw new TypeError();

    var thisp = arguments[1];
    for (var i = 0; i < len; i++)
    {
      if (i in this)
        fun.call(thisp, this[i], i, this);
    }
  };
}




Przykłady


Przykład: Drukowanie zawartości tablicy


Następujący kod drukuje linie dla każdego elementu w tablicy (i przyjmuje obecność funkcji print do wywołania!):


function printElt(element, index, array) {
    print("[" + index + "] jest " + element);
}
[2, 5, 9].forEach(printElt);
// Wydrukuje:
// [0] jest 2
// [1] jest 5
// [2] jest 9



Przykład: Drukowanie zawartości tablicy z metodą obiektu


Następujący kod tworzy prosty obiekt wypisujący i następnie stosuje metodę writeln do wypisania jednej linii na element w tablicy (przyjmuje obecność funkcji print do wywołania!):


var writer = {
    sb:       [],
    write:    function (s) {
        this.sb.push(s);
    },
    writeln:  function (s) {
        this.write(s + "\n");
    },
    toString: function () {
        return this.sb.join("");
    }
};

[2, 5, 9].forEach(writer.writeln, writer);
print(writer.toString());

// Wydrukuje:
// 2
// 5
// 9

 



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-2024 v.1.5 | design: diviXdesign & rainbowcolors