JavaScript-arrayiterationer
- Forrige side JS array sortering
- Næste side JS array Const
Arrayiterationer udfører operationer på hvert arrayelement.
Array.forEach()
forEach()
Metoden kaller funktionen (callback-funktionen) én gang for hver arrayelement.
Eksempel
var txt = ""; var numbers = [45, 4, 9, 16, 25]; numbers.forEach(myFunction); function myFunction(value, index, array) { txt = txt + value + "<br>"; }
Kommentar:Funktionen accepterer 3 parametre:
- Projektværdi
- Projektindeks
- Arrayet selv
Det ovenstående eksempel brugte kun value-parametret. Dette eksempel kan skrives om til:
Eksempel
var txt = ""; var numbers = [45, 4, 9, 16, 25]; numbers.forEach(myFunction); function myFunction(value) { txt = txt + value + "<br>"; }
alle browsere understøtter Array.forEach()
,med undtagelse af Internet Explorer 8 eller tidligere versioner:
Ja | 9.0 | Ja | Ja | Ja |
Array.map()
map()
Metoden opretter en ny array ved at køre funktionen på hvert arrayelement.
map()
Metoden udfører ikke funktionen på arrayelementer uden værdier.
map()
Metoden ændrer ikke det oprindelige array.
Dette eksempel multiplicerer hver værdi i arrayet med 2:
Eksempel
var numbers1 = [45, 4, 9, 16, 25]; var numbers2 = numbers1.map(myFunction); function myFunction(value, index, array) { return value * 2; }
Bemærk, at funktionen har 3 parametre:
- Projektværdi
- Projektindeks
- Arrayet selv
Når callback-funktionen kun bruger value-parametret, kan index- og array-parametrene udelades:
Eksempel
var numbers1 = [45, 4, 9, 16, 25]; var numbers2 = numbers1.map(myFunction); function myFunction(value) { return value * 2; }
alle browsere understøtter Array.map()
,med undtagelse af Internet Explorer 8 eller tidligere versioner:
Ja | 9.0 | Ja | Ja | Ja |
Array.filter()
filter()
Metoden opretter en ny array, der indeholder de arrayelementer, der passede testen.
Dette eksempel opretter en ny array med elementer, der har værdier større end 18:
Eksempel
var numbers = [45, 4, 9, 16, 25]; var over18 = numbers.filter(myFunction); function myFunction(value, index, array) { return value > 18; }
Bemærk, at denne funktion accepterer 3 parametre:
- Projektværdi
- Projektindeks
- Arrayet selv
I det ovenstående eksempel bruger callback-funktionen ikke index- og array-parametrene, så de kan udelades:
Eksempel
var numbers = [45, 4, 9, 16, 25]; var over18 = numbers.filter(myFunction); function myFunction(value) { return value > 18; }
alle browsere understøtter Array.filter()
,med undtagelse af Internet Explorer 8 eller tidligere versioner:
Ja | 9.0 | Ja | Ja | Ja |
Array.reduce()
reduce()
Metoden kører funktionen på hver arrayelement for at generere (reducere det) til en enkelt værdi.
reduce()
Metoden arbejder fra venstre til højre i arrayet. Se også reduceRight().
reduce()
Metoden reducerer ikke det oprindelige array.
Dette eksempel bestemmer summen af alle tal i arrayet:
Eksempel
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduce(myFunction); function myFunction(total, value, index, array) { return total + value; }
Bemærk, at denne funktion accepterer 4 parametre:
- Samlet (initialværdi/forrige returnerede værdi)
- Projektværdi
- Projektindeks
- Arrayet selv
I det foregående eksempel blev ikke brugt index og array parametre. Det kan ændres til:
Eksempel
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduce(myFunction); function myFunction(total, value) { return total + value; }
reduce()
Metoden kan acceptere en initial værdi:
Eksempel
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduce(myFunction, 100); function myFunction(total, value) { return total + value; }
alle browsere understøtter Array.reduce()
,med undtagelse af Internet Explorer 8 eller tidligere versioner:
Ja | 9.0 | Ja | Ja | Ja |
Array.reduceRight()
reduceRight()
Metoden kører funktionen på hver arrayelement for at generere (reducere det) til en enkelt værdi.
reduceRight()
Metoden arbejder fra højre til venstre i arrayet. Se også reduce().
reduceRight()
Metoden reducerer ikke det oprindelige array.
Dette eksempel bestemmer summen af alle tal i arrayet:
Eksempel
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduceRight(myFunction); function myFunction(total, value, index, array) { return total + value; }
Bemærk, at denne funktion accepterer 4 parametre:
- Samlet (initialværdi/forrige returnerede værdi)
- Projektværdi
- Projektindeks
- Arrayet selv
I det foregående eksempel blev ikke brugt index og array parametre. Det kan ændres til:
Eksempel
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduceRight(myFunction); function myFunction(total, value) { return total + value; }
alle browsere understøtter Array.reduceRight()
,med undtagelse af Internet Explorer 8 eller tidligere versioner:
Ja | 9.0 | Ja | Ja | Ja |
Array.every()
every()
Metoden tjekker om alle værdier i arrayet passerer test.
Dette eksempel tjekker om alle værdier i arrayet er større end 18:
Eksempel
var numbers = [45, 4, 9, 16, 25]; var allOver18 = numbers.every(myFunction); function myFunction(value, index, array) { return value > 18; }
Bemærk, at denne funktion accepterer 3 parametre:
- Projektværdi
- Projektindeks
- Arrayet selv
Hvis callback-funktionen kun bruger den første parameter (værdi), kan de øvrige parametre undlades:
Eksempel
var numbers = [45, 4, 9, 16, 25]; var allOver18 = numbers.every(myFunction); function myFunction(value) { return value > 18; }
alle browsere understøtter Array.every()
,med undtagelse af Internet Explorer 8 eller tidligere versioner:
Ja | 9.0 | Ja | Ja | Ja |
Array.some()
some()
Metoden tjekker om nogle værdier i arrayet passerer test.
Dette eksempel tjekker om nogle værdier i arrayet er større end 18:
Eksempel
var numbers = [45, 4, 9, 16, 25]; var someOver18 = numbers.some(myFunction); function myFunction(value, index, array) { return value > 18; }
Bemærk, at denne funktion accepterer 3 parametre:
- Projektværdi
- Projektindeks
- Arrayet selv
alle browsere understøtter Array.some()
,med undtagelse af Internet Explorer 8 eller tidligere versioner:
Ja | 9.0 | Ja | Ja | Ja |
Array.indexOf()
indexOf()
Metoden søger efter elementets værdi i arrayet og returnerer dens placering.
Kommentar:Placeringen af det første element er 0, placeringen af det andet element er 1, osv.
Eksempel
Søg efter elementet "Apple" i arrayet:
var fruits = ["Apple", "Orange", "Apple", "Mango"]; var a = fruits.indexOf("Apple");
alle browsere understøtter Array.indexOf()
,med undtagelse af Internet Explorer 8 eller tidligere versioner:
Ja | 9.0 | Ja | Ja | Ja |
syntaks
array.indexOf(element, start)
element | krævet. At finde elementet. |
start | valgfri. Hvorfra skal søgningen starte. Negative værdier starter fra den angivne position ved slutningen og søger til slutningen. |
hvis elementet ikke findes,Array.indexOf()
returnerer -1.
hvis elementet optræder flere gange, returneres første forekomst.
Array.lastIndexOf()
Array.lastIndexOf()
med Array.indexOf()
Lignende, men søg fra slutningen af arrayet.
Eksempel
Søg efter elementet "Apple" i arrayet:
var fruits = ["Apple", "Orange", "Apple", "Mango"]; var a = fruits.lastIndexOf("Apple");
alle browsere understøtter Array.lastIndexOf()
,med undtagelse af Internet Explorer 8 eller tidligere versioner:
Ja | 9.0 | Ja | Ja | Ja |
syntaks
array.lastIndexOf(element, start)
element | krævet. At finde elementet. |
start | Valgfri. Hvor skal søgningen starte. Negative værdier starter fra slutningen og søger til starten. |
Array.find()
find()
Metoden returnerer værdien for det første arrayelement, der passer til testfunktionen.
Dette eksempel finder (returnerer) værdien for det første element, der er større end 18:
Eksempel
var numbers = [4, 9, 16, 25, 29]; var first = numbers.find(myFunction); function myFunction(value, index, array) { return value > 18; }
Bemærk, at denne funktion accepterer 3 parametre:
- Projektværdi
- Projektindeks
- Arrayet selv
Gamle browsere understøtter ikke Array.find()
Nedenunder er den første browserversion, der fuldt ud understøtter denne metode:
45 | 12 | 25 | 8 | 32 |
Array.findIndex()
findIndex()
Metoden returnerer indekset for det første arrayelement, der passer til testfunktionen.
Dette eksempel finder indekset for den første element, der er større end 18:
Eksempel
var numbers = [4, 9, 16, 25, 29]; var first = numbers.findIndex(myFunction); function myFunction(value, index, array) { return value > 18; }
Bemærk, at denne funktion accepterer 3 parametre:
- Projektværdi
- Projektindeks
- Arrayet selv
Gamle browsere understøtter ikke Array.findIndex()
Nedenunder er den første browserversion, der fuldt ud understøtter denne metode:
45 | 12 | 25 | 8 | 32 |
- Forrige side JS array sortering
- Næste side JS array Const