JavaScript-arrayiteration
- Föregående sida JS-array sortering
- Nästa sida JS-array Const
Arrayiterationsmetoder utför operationer på varje arrayelement.
Array.forEach()
forEach()
Metoden anropar funktionen (callback-funktionen) en gång för varje arrayelement.
Exempel
var txt = ""; var numbers = [45, 4, 9, 16, 25]; numbers.forEach(myFunction); function myFunction(value, index, array) { txt = txt + value + "<br>"; }
Kommentar:Funktionen accepterar 3 parametrar:
- Projektvärde
- Projektindex
- Array själv
Detta exempel använde bara value-parametern. Det kan omformuleras som:
Exempel
var txt = ""; var numbers = [45, 4, 9, 16, 25]; numbers.forEach(myFunction); function myFunction(value) { txt = txt + value + "<br>"; }
alla webbläsare stöder Array.forEach()
utom Internet Explorer 8 eller tidigare versioner:
Ja | 9.0 | Ja | Ja | Ja |
Array.map()
map()
Metoden skapar en ny array genom att köra funktionen på varje arrayelement.
map()
Metoden utför inte funktionen på arrayelement utan värde.
map()
Metoden ändrar inte den ursprungliga arrayen.
Detta exempel multiplicerar varje arrayvärde med 2:
Exempel
var numbers1 = [45, 4, 9, 16, 25]; var numbers2 = numbers1.map(myFunction); function myFunction(value, index, array) { return value * 2; }
Vänligen notera att funktionen har 3 parametrar:
- Projektvärde
- Projektindex
- Array själv
När callback-funktionen endast använder value-parametern kan index- och array-parametrarna utelämnas:
Exempel
var numbers1 = [45, 4, 9, 16, 25]; var numbers2 = numbers1.map(myFunction); function myFunction(value) { return value * 2; }
alla webbläsare stöder Array.map()
utom Internet Explorer 8 eller tidigare versioner:
Ja | 9.0 | Ja | Ja | Ja |
Array.filter()
filter()
Metoden skapar en ny array som innehåller de arrayelement som har passerat testet.
Detta exempel skapar en ny array med element som har värden större än 18:
Exempel
var numbers = [45, 4, 9, 16, 25]; var over18 = numbers.filter(myFunction); function myFunction(value, index, array) { return value > 18; }
Observera att denna funktion accepterar 3 parametrar:
- Projektvärde
- Projektindex
- Array själv
I det ovanstående exemplet använder callback-funktionen inte index- och array-parametrarna, så de kan utelämnas:
Exempel
var numbers = [45, 4, 9, 16, 25]; var over18 = numbers.filter(myFunction); function myFunction(value) { return value > 18; }
alla webbläsare stöder Array.filter()
utom Internet Explorer 8 eller tidigare versioner:
Ja | 9.0 | Ja | Ja | Ja |
Array.reduce()
reduce()
Metoden kör funktionen på varje arrayelement för att generera (minskar det) en enskild värde.
reduce()
Metoden arbetar från vänster till höger i arrayen. Se också reduceRight().
reduce()
Metoden minskar inte den ursprungliga arrayen.
Detta exempel bestämmer summan av alla tal i arrayen:
Exempel
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduce(myFunction); function myFunction(total, value, index, array) { return total + value; }
Vänligen notera att denna funktion accepterar 4 parametrar:
- Totalt (initialvärdet/ tidigare returnerade värdet)
- Projektvärde
- Projektindex
- Array själv
I föregående exempel användes inte index och array-parametrarna. Det kan skrivas om till:
Exempel
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduce(myFunction); function myFunction(total, value) { return total + value; }
reduce()
Metoden kan acceptera en initial värde:
Exempel
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduce(myFunction, 100); function myFunction(total, value) { return total + value; }
alla webbläsare stöder Array.reduce()
utom Internet Explorer 8 eller tidigare versioner:
Ja | 9.0 | Ja | Ja | Ja |
Array.reduceRight()
reduceRight()
Metoden kör funktionen på varje arrayelement för att generera (minskar det) en enskild värde.
reduceRight()
Metoden arbetar från höger till vänster i arrayen. Se också reduce().
reduceRight()
Metoden minskar inte den ursprungliga arrayen.
Detta exempel bestämmer summan av alla tal i arrayen:
Exempel
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduceRight(myFunction); function myFunction(total, value, index, array) { return total + value; }
Vänligen notera att denna funktion accepterar 4 parametrar:
- Totalt (initialvärdet/ tidigare returnerade värdet)
- Projektvärde
- Projektindex
- Array själv
I föregående exempel användes inte index och array-parametrarna. Det kan skrivas om till:
Exempel
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduceRight(myFunction); function myFunction(total, value) { return total + value; }
alla webbläsare stöder Array.reduceRight()
utom Internet Explorer 8 eller tidigare versioner:
Ja | 9.0 | Ja | Ja | Ja |
Array.every()
every()
Metoden kontrollerar om alla arrayvärden går igenom testet.
Denna exempelkontrollerar om alla arrayvärden är större än 18:
Exempel
var numbers = [45, 4, 9, 16, 25]; var allOver18 = numbers.every(myFunction); function myFunction(value, index, array) { return value > 18; }
Observera att denna funktion accepterar 3 parametrar:
- Projektvärde
- Projektindex
- Array själv
Om callback-funktionen endast använder den första parametern (värdet) kan de andra parametrarna utelämnas:
Exempel
var numbers = [45, 4, 9, 16, 25]; var allOver18 = numbers.every(myFunction); function myFunction(value) { return value > 18; }
alla webbläsare stöder Array.every()
utom Internet Explorer 8 eller tidigare versioner:
Ja | 9.0 | Ja | Ja | Ja |
Array.some()
some()
Metoden kontrollerar om vissa arrayvärden går igenom testet.
Denna exempelkontrollar om vissa arrayvärden är större än 18:
Exempel
var numbers = [45, 4, 9, 16, 25]; var someOver18 = numbers.some(myFunction); function myFunction(value, index, array) { return value > 18; }
Observera att denna funktion accepterar 3 parametrar:
- Projektvärde
- Projektindex
- Array själv
alla webbläsare stöder Array.some()
utom Internet Explorer 8 eller tidigare versioner:
Ja | 9.0 | Ja | Ja | Ja |
Array.indexOf()
indexOf()
Metoden söker efter ett element i en array och returnerar dess plats.
Kommentar:Platsen för det första objektet är 0, platsen för det andra objektet är 1, och så vidare.
Exempel
Sök objektet "Apple" i arrayen:
var fruits = ["Apple", "Orange", "Apple", "Mango"]; var a = fruits.indexOf("Apple");
alla webbläsare stöder Array.indexOf()
utom Internet Explorer 8 eller tidigare versioner:
Ja | 9.0 | Ja | Ja | Ja |
grammatik
array.indexOf(objekt, start)
objekt | obligatoriskt. Det att söka efter objektet. |
start | valfritt. Varifrån ska sökningen börja. Negativa värden börjar från den givna positionen från slutet och söker till slutet. |
om objektet inte hittas:Array.indexOf()
returnerar -1.
om objektet uppträder flera gånger, returneras platsen för första uppträdet.
Array.lastIndexOf()
Array.lastIndexOf()
med Array.indexOf()
Liknande, men söker från slutet av arrayen.
Exempel
Sök objektet "Apple" i arrayen:
var fruits = ["Apple", "Orange", "Apple", "Mango"]; var a = fruits.lastIndexOf("Apple");
alla webbläsare stöder Array.lastIndexOf()
utom Internet Explorer 8 eller tidigare versioner:
Ja | 9.0 | Ja | Ja | Ja |
grammatik
array.lastIndexOf(objekt, start)
objekt | obligatoriskt. Det att söka efter objektet. |
start | Valfritt. Från var börja söka. Negativa värden börjar från slutet och söker till början. |
Array.find()
find()
Metoden returnerar värdet för det första arrayelement som passerar testfunktionen.
Detta exempel söker (returnerar) värdet för den första element som är större än 18:
Exempel
var numbers = [4, 9, 16, 25, 29]; var first = numbers.find(myFunction); function myFunction(value, index, array) { return value > 18; }
Observera att denna funktion accepterar 3 parametrar:
- Projektvärde
- Projektindex
- Array själv
Gamla webbläsare stöder inte Array.find()
Nedan listas den första webbläsarversion som fullständigt stöder denna metod:
45 | 12 | 25 | 8 | 32 |
Array.findIndex()
findIndex()
Metoden returnerar index för den första arrayelement som passerar testfunktionen.
Detta exempel söker efter den första elementets index som är större än 18:
Exempel
var numbers = [4, 9, 16, 25, 29]; var first = numbers.findIndex(myFunction); function myFunction(value, index, array) { return value > 18; }
Observera att denna funktion accepterar 3 parametrar:
- Projektvärde
- Projektindex
- Array själv
Gamla webbläsare stöder inte Array.findIndex()
Nedan listas den första webbläsarversion som fullständigt stöder denna metod:
45 | 12 | 25 | 8 | 32 |
- Föregående sida JS-array sortering
- Nästa sida JS-array Const