V JavaScriptu 1.6 přibyly u objektu Array
nové užitečné metody, které o další kousek přibližují JavaScript funkcionálnímu programování. Příznivci jazyka Lisp některé přidané metody jistě dobře znají.
- Aplikuje na každý prvek pole funkci předanou v parametru a výsledek vrátí v novém poli.
numbers = [1, 2, 3]; squares = numbers.map(Math.pow); // [1, 4, 9];
- filter
- Vrátí nové pole obsahující prvky původního pole, jež prošly testovací funkcí.
function isBigEnough(element, index, array) { return element >= 10; } filtered = [12, 5, 8, 130, 44].filter(isBigEnough); // [12, 130, 44]
- some
- Zjistí, zda aspoň jeden prvek pole vyhovuje testovací funkci.
function isBigEnough(element, index, array) { return (element >= 10); } passed = [2, 5, 8, 1, 4].some(isBigEnough); // false passed = [12, 5, 8, 1, 44].some(isBigEnough); // true
- every
- Zjistí, zda všechny prvky pole vyhovují testovací funkci.
function isBigEnough(element, index, array) { return (element >= 10); } passed = [12, 5, 8, 130, 44].every(isBigEnough); // false passed = [12, 54, 18, 130, 44].every(isBigEnough); // true
- forEach
- Aplikuje na každý prvek funkci předanou jako parametr.
function printElement(element, index, array) { print("[" + index + "] is " + element); } [2, 5, 9].forEach(printElement); // Vytiskne: // [0] is 2 // [1] is 5 // [2] is 9
- indexOf
- Vrátí index prvního výskytu daného prvku v poli, nebo -1, pokud se v něm prvek nevyskytuje.
- Vrátí index posledního výskytu daného prvku v poli, nebo -1, pokud se v něm prvek nevyskytuje.
Nové metody objektu Array jsou rozšířením normy ECMA 262 Edition 3. Do JavaScriptu byly zahrnuty ve verzi 1.6.
Informace o původním dokumentu
- Autor: David Majda