Sprawdzanie warunku dla przynajmniej jednego elementu - some
Jak sprawdzić, czy przynajmniej jeden element tablicy spełnia podany warunek?
(interpretuje: Internet Explorer 9, Firefox, Opera, Chrome)
Array.prototype.some(callbackfn) Array.prototype.some(callbackfn, thisArg)
- Parametry:
Function
callbackfn - funkcja testująca przyjmująca argumenty:- kValue - element tablicy
Number
k - indeks elementu tablicyArray
O - oryginalna tablica
- thisArg - wartość bieżącego obiektu
this
dostępnego w czasie wywołania wewnątrz ciała funkcji (domyślnie: undefined) - Wartość:
Boolean
- czy przynajmniej dla jednego elementu tablicy funkcja testująca zwraca wartośćtrue
- Wyjątki:
TypeError
- callbackfn nie jest funkcją
Pozwala sprawdzić, czy przynajmniej jeden element tablicy spełnia określony warunek. Elementy, które nie zostały jawnie dodane do tablicy, są pomijane.
Jest odpowiednikiem operatora ||
(lub - ang. or) przy działaniach na wartościach skalarnych.
Przykład Array.prototype.some
var items = [3, 2, 1]; var f = function (x) { return x > 0; }; items.some(f); // true f = function (x) { return x < 0; }; items.some(f); // false var GreaterThan = function (value) { this.value = value; this.tests = 0; }; GreaterThan.prototype.test = function (value) { ++this.tests; return value > this.value; }; var tester = new GreaterThan(0); items.some(tester.test, tester); // true tester.tests; // 1 tester = new GreaterThan(4); items.some(tester.test, tester); // false tester.tests; // 3 items = [1, 2]; items[3] = 3; items.length; // 4 tester = new GreaterThan(4); items.some(tester.test, tester); // false tester.tests; // 3 items[2] = undefined; items.length; // 4 tester = new GreaterThan(4); items.some(tester.test, tester); // false tester.tests; // 4 items.some(null); // TypeError items.some(undefined); // TypeError items.some({}); // TypeError