Iterace pole JavaScriptu
Metody iterace pole fungují na každé položce pole.
Pole JavaScript forEach()
Metoda forEach()
volá funkci (funkci zpětného volání) jednou pro každý prvek pole.
Příklad
const numbers = [45, 4, 9, 16, 25];
let txt = "";
numbers.forEach(myFunction);
function myFunction(value, index, array) {
txt += value + "<br>";
}
Všimněte si, že funkce má 3 argumenty:
- Hodnota položky
- Index položky
- Samotné pole
Výše uvedený příklad používá pouze parametr value. Příklad lze přepsat na:
Příklad
const numbers = [45, 4, 9, 16, 25];
let txt = "";
numbers.forEach(myFunction);
function myFunction(value) {
txt += value + "<br>";
}
JavaScript Array map()
Metoda map()
vytvoří nové pole provedením funkce na každém prvku pole.
Metoda map()
neprovádí funkci pro prvky pole bez hodnot.
Metoda map()
nemění původní pole.
Tento příklad vynásobí každou hodnotu pole 2:
Příklad
const numbers1 = [45, 4, 9, 16, 25];
const numbers2 = numbers1.map(myFunction);
function myFunction(value, index, array) {
return value * 2;
}
Všimněte si, že funkce má 3 argumenty:
- Hodnota položky
- Index položky
- Samotné pole
Když funkce zpětného volání používá pouze parametr value, lze parametry index a pole vynechat:
Příklad
const numbers1 = [45, 4, 9, 16, 25];
const numbers2 = numbers1.map(myFunction);
function myFunction(value) {
return value * 2;
}
JavaScript Array filter()
Metoda filter()
vytvoří nové pole s prvky pole, které projde testem.
Tento příklad vytvoří nové pole z prvků s hodnotou větší než 18:
Příklad
const numbers = [45, 4, 9, 16, 25];
const over18 = numbers.filter(myFunction);
function myFunction(value, index, array) {
return value > 18;
}
Všimněte si, že funkce má 3 argumenty:
- Hodnota položky
- Index položky
- Samotné pole
Ve výše uvedeném příkladu funkce zpětného volání nepoužívá parametry index a pole, takže je lze vynechat:
Příklad
const numbers = [45, 4, 9, 16, 25];
const over18 =
numbers.filter(myFunction);
function myFunction(value) {
return value > 18;
}
JavaScript Array reduction()
Metoda reduce()
spustí funkci na každém prvku pole, aby vytvořila (redukovala ji na) jednu hodnotu.
Metoda reduce()
funguje v poli zleva doprava. Viz také reduceRight()
.
Metoda reduce()
nezmenšuje původní pole.
Tento příklad najde součet všech čísel v poli:
Příklad
const numbers = [45, 4, 9, 16, 25];
let sum = numbers.reduce(myFunction);
function myFunction(total, value, index, array) {
return total + value;
}
Všimněte si, že funkce má 4 argumenty:
- Celkem (počáteční hodnota / dříve vrácená hodnota)
- Hodnota položky
- Index položky
- Samotné pole
Výše uvedený příklad nepoužívá parametry index a pole. Dá se přepsat na:
Příklad
const numbers = [45, 4, 9, 16, 25];
let sum = numbers.reduce(myFunction);
function myFunction(total, value) {
return total + value;
}
Metoda reduce()
může přijmout počáteční hodnotu:
Příklad
const numbers = [45, 4, 9, 16, 25];
let sum = numbers.reduce(myFunction,
100);
function myFunction(total, value) {
return total + value;
}
JavaScript Array reductionRight()
Metoda reduceRight()
spustí funkci na každém prvku pole, aby vytvořila (redukovala ji na) jednu hodnotu.
reduceRight()
Pracuje zprava doleva v poli . Viz také reduce()
.
Metoda reduceRight()
nezmenšuje původní pole.
Tento příklad najde součet všech čísel v poli:
Příklad
const numbers = [45, 4, 9, 16, 25];
let sum = numbers1.reduceRight(myFunction);
function myFunction(total, value, index, array) {
return total + value;
}
Všimněte si, že funkce má 4 argumenty:
- Celkem (počáteční hodnota / dříve vrácená hodnota)
- Hodnota položky
- Index položky
- Samotné pole
Výše uvedený příklad nepoužívá parametry index a pole. Dá se přepsat na:
Příklad
const numbers = [45, 4, 9, 16, 25];
let sum = numbers1.reduceRight(myFunction);
function myFunction(total, value) {
return total + value;
}
JavaScript Array every()
Metoda every()
kontroluje, zda všechny hodnoty pole projdou testem.
Tento příklad zkontrolujte, zda jsou všechny hodnoty pole větší než 18:
Příklad
const numbers = [45, 4, 9, 16, 25];
let allOver18 =
numbers.every(myFunction);
function myFunction(value, index, array) {
return
value > 18;
}
Všimněte si, že funkce má 3 argumenty:
- Hodnota položky
- Index položky
- Samotné pole
Když funkce zpětného volání používá pouze první parametr (hodnotu), ostatní parametry lze vynechat:
Příklad
const numbers = [45, 4, 9, 16, 25];
let allOver18 =
numbers.every(myFunction);
function myFunction(value) {
return
value > 18;
}
JavaScript Array some()
Metoda some()
kontroluje, zda některé hodnoty pole projdou testem.
Tento příklad zkontrolujte, zda jsou některé hodnoty pole větší než 18:
Příklad
const numbers = [45, 4, 9, 16, 25];
let someOver18 = numbers.some(myFunction);
function myFunction(value, index, array) {
return
value > 18;
}
Všimněte si, že funkce má 3 argumenty:
- Hodnota položky
- Index položky
- Samotné pole
JavaScript Array indexOf()
Metoda indexOf()
hledá v poli hodnotu prvku a vrací její pozici.
Poznámka: První položka má pozici 0, druhá položka má pozici 1 atd.
Příklad
Vyhledejte v poli položku „Apple“:
const fruits = ["Apple", "Orange", "Apple", "Mango"];
let position = fruits.indexOf("Apple") + 1;
Syntax
array.indexOf(item, start)
item | Required. The item to search for. |
start | Optional. Where to start the search. Negative values will start at the given position counting from the end, and search to the end. |
Array.indexOf()
vrátí -1, pokud položka není nalezena.
Pokud je položka přítomna více než jednou, vrátí pozici prvního výskytu.
Pole JavaScript lastIndexOf()
Array.lastIndexOf()
je stejný jako Array.indexOf()
, ale vrací pozici posledního výskytu zadaného prvku.
Příklad
Vyhledejte v poli položku „Apple“:
const fruits = ["Apple", "Orange", "Apple", "Mango"];
let position = fruits.lastIndexOf("Apple") + 1;
Syntax
array.lastIndexOf(item, start)
item | Required. The item to search for |
start | Optional. Where to start the search. Negative values will start at the given position counting from the end, and search to the beginning |
JavaScript Array find()
Metoda find()
vrací hodnotu prvního prvku pole, který prošel testovací funkcí.
Tento příklad najde (vrátí hodnotu) první prvek, který je větší než 18:
Příklad
const numbers = [4, 9, 16, 25, 29];
let first =
numbers.find(myFunction);
function myFunction(value, index, array) {
return
value > 18;
}
Všimněte si, že funkce má 3 argumenty:
- Hodnota položky
- Index položky
- Samotné pole
Podpora prohlížeče
find()
je funkce ES6 (JavaScript 2015).
Je podporován ve všech moderních prohlížečích:
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
find()
není podporován v Internet Exploreru.
Pole JavaScript findIndex()
Metoda findIndex()
vrací index prvního prvku pole, který prošel testovací funkcí.
Tento příklad najde index prvního prvku, který je větší než 18:
Příklad
const numbers = [4, 9, 16, 25, 29];
let first =
numbers.findIndex(myFunction);
function myFunction(value, index, array) {
return
value > 18;
}
Všimněte si, že funkce má 3 argumenty:
- Hodnota položky
- Index položky
- Samotné pole
Podpora prohlížeče
findIndex()
je funkce ES6 (JavaScript 2015).
Je podporován ve všech moderních prohlížečích:
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
findIndex()
není podporován v Internet Exploreru.
JavaScript Array.from()
Metoda Array.from()
vrací objekt Array z libovolného objektu s vlastností length nebo libovolného iterovatelného objektu.
Příklad
Vytvořte pole z řetězce:
Array.from("ABCDEFG");
Podpora prohlížeče
from()
je funkce ES6 (JavaScript 2015).
Je podporován ve všech moderních prohlížečích:
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
from()
není podporován v Internet Exploreru.
Klíče pole JavaScript()
Metoda Array.keys()
vrací objekt Array Iterator s klíči pole.
Příklad
Create an Array Iterator object, containing the keys of the array:
const fruits = ["Banana", "Orange", "Apple", "Mango"];
const keys = fruits.keys();
for (let x of keys) {
text += x + "<br>";
}
Browser Support
keys()
is an ES6 feature (JavaScript 2015).
It is supported in all modern browsers:
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
keys()
is not supported in Internet Explorer.
JavaScript Array includes()
ECMAScript 2016 introduced Array.includes()
to arrays.
This allows us to check if an element is present in an array (including NaN, unlike indexOf).
Example
const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.includes("Mango"); // is true
Syntax
array.includes(search-item)
Array.includes() allows to check for NaN values. Unlike Array.indexOf().
Array.includes() is not supported in Internet Explorer and Edge 12/13.
The first browser versions with full support are:
Browser Support
includes()
is an ECMAScript 2016 feature.
It is supported in all modern browsers:
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
includes()
is not supported in Internet Explorer.
Complete Array Reference
For a complete Array reference, go to our:
Complete JavaScript Array Reference.
The reference contains descriptions and examples of all Array properties and methods.