Podsumowanie
Sprawdza, czy jakikolwiek element tablicy zalicza test zaimplementowany przez dostarczoną funkcję .
Składnia
arr.some(callback[, thisArg])
Parametry
callback
- Funkcja sprawdzająca dla każdego elementu.
thisArg
- Obiekt do użycia jako
this
gdy wykonujemy funkcjęcallback
.
Opis
some
wykonuje funkcję callback
) na każdym elemencie tablicy, aż znajdzie taki, dla którego callback
zwróci prawdę (true
). Jeżeli taki element zostanie znaleziony, some
zakończy swoje działanie i zwróci prawdę (true
), w przeciwnym przypadku (gdy callback
zwróci fałsz dla każdego z elementów) some
zwróci false
. Tablice traktowane są 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 przemierzaną tablicą.
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
.
some
nie modyfikuje tablicy, na której jest wywołany.
Zakres elementów przetwarzanych przez some
ustalany jest przed pierwszym wywołaniem callback
. Elementy dodane do tablicy po wywołaniu some
nie zostaną sprawdzone przez callback
. Jeśli istniejący, niesprawdzony jeszcze element tablicy zostanie zmieniony lub usunięty przez callback
, wartością przekazaną do callback
będzie wartość z momentu, w którym some
sprawdza dany element; elementy usunięte przed sprawdzeniem będą przekazane jako undefined
.
Przykłady
Przykład: Sprawdzanie rozmiaru wszystkich elementów tablicy
Następujący przykład sprawdza czy jakiś element tablicy jest większy, bądź równy 10.
function isBigEnough(element, index, array) { return (element >= 10); } passed = [2, 5, 8, 1, 4].some(isBigEnough); // fałsz passed = [12, 5, 8, 1, 44].some(isBigEnough); // prawda
Kompatybilność z przeglądarkami
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | (Yes) | 1.5 (1.8) | 9 | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | 1.0 (1.8) | (Yes) | (Yes) | (Yes) |