Loading:

Promocja Helion.pl

JavaScript Funkcja map (Metoda obiektu: Array)

Tworzy nową tablicę z wynikami wywołanej podanej funkcji dla każdego elementu w tablicy.


Metoda obiektu: Array

Składnia


map(callback[, thisObject])


Parametry


callback  -Funkcja tworząca element nowej tablicy z jednego z bieżących elementów.


thisObject  -Obiekt do użycia jako this, kiedy wykonujemy callback.


Opis

map wykonuje funkcję (callback) na każdym z elementów tablicy. Tablica traktowana jest jako "zwarte" - czyli callback zostanie wywołane dla każdego elementu o indeksie mniejszym niż długość tablicy, nawet jeśli poszczególne indeksy nie zostały wcześniej zadeklarowane.

callback wywoływana jest z trzema argumentami: wartością elementu, jego indeksem i tablicą która jest trawersowana.

W przypadku podania argumentu thisObject, zostanie on przekazany jako this przy każdym wywołaniu callback. Gdy go brak, lub ma wartość null, użyty zostanie obiekt globalny przyporządkowany do callback.

map nie modyfikuje tablicy, na której jest wywołany.

Zakres elementów przetwarzanych przez map ustalany jest przed pierwszym wywołaniem callback. Elementy dodane do tablicy po wywołaniu map nie zostaną odwiedzone przez callback. Jeśli istniejący, element tablicy zostanie zmieniony lub usunięty, wartością przekazaną do callback będzie wartość z momentu w którym map odwiedza dany element; elementy usunięte przed sprawdzeniem będą przekazane jako undefined.

Przykłady


Przykład: Wielkie litery łańcuchów w tablicy


Poniższy kod tworzy nową tablicę zawierającą pisaną wielkimi literami wersję wszystkich oryginalnych łańcuchów.

strings = ["hello", "Array", "WORLD"];

function makeUpperCase(v)

{

    return v.toUpperCase();

}

uppers = strings.map(makeUpperCase);

// uppers są teraz pisane wielkimi literami ["HELLO", "ARRAY", "WORLD"]

// strings są niezmienione



Przykład: Mapowanie tablicy liczb do tablicy pierwiastków kwadratowych


Poniższy kod pobiera tablicę liczb i tworzy nową tablicę z pierwiastkami kwadratowymi liczb z pierwszej tablicy.


liczby = [1, 4, 9];

pierwiastki = numbers.map(Math.sqrt);

// otrzymane pierwiastki [1, 2, 3]

// pozostające nadal liczby [1, 4, 9]

 



Napisz Artykuł

Listing

map(callback[, thisObject])


Ten wpis posiada swój wątek na forum

Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane

http://forum.funkcje.net/forum/viewtopic.php?f=3&t=2699

Dane do logowania na forum są takie same jak na funkcje.net



Dodano przez: igor
Ranga: Administrator serwisu Punktów: 28716
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-17 v.1.5 | design: diviXdesign & rainbowcolors