Dart Academy · Lektion

for-in över samlingar

Gå igenom varje objekt utan index

Lektion 3 av 413 steg

for-in över samlingar är en gratis lektion i Dart Academy på CoddyKit. Detta är lektion 3 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Dart Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Dart Academy innehåller totalt 4 lektioner.

Hoppa över indexet

Ofta vill du bara ha varje objekt, inte dess position. for-in-loopen ger dig objekten ett i taget utan någon räknare att hantera. ✨

for-in-strukturen

Skriv for, ett variabelnamn, nyckelordet in och sedan din samling. Vid varje varv kopplas variabeln till nästa element.

for (var item in items) {
  print(item);
}

Loopa genom en lista

Rikta for-in mot en List, så besöker den varje element i ordning, från början till slut, utan att du behöver använda length eller hakparenteser.

var fruits = ['apple', 'pear'];
for (var f in fruits) {
  print(f);
}

Renare än indexering

Jämfört med en klassisk for-loop tar for-in bort räknaren, längdkontrollen och uppslagningen med hakparenteser. Mindre kod innebär färre buggar.

for (var f in fruits) {
  print(f);
}

Typad loopvariabel

För tydlighetens skull kan du ange typen i stället för var. Här är varje element uttryckligen en String när loopen går igenom listan.

for (String name in names) {
  print(name);
}

Loopa genom ett Set

Ett Set fungerar också med for-in. Du får varje unikt värde en gång, men ordningen är inte garanterad som i en lista.

var ids = {1, 2, 3};
for (var id in ids) {
  print(id);
}

Alla Iterable

for-in fungerar med alla Iterable, inte bara listor och mängder. Det omfattar intervall, map-nycklar och resultaten från map eller where.

for (var k in scores.keys) {
  print(k);
}

Loopa genom Map-poster

Om du vill iterera över en Map går du igenom dess entries. Varje post innehåller en nyckel och ett värde som du kan läsa tillsammans i ett varv.

for (var e in scores.entries) {
  print('${e.key}: ${e.value}');
}

Skrivskydd som vana

Betrakta loopvariabeln som en kopia av varje värde. Om du tilldelar den ett nytt värde ändras inte det ursprungliga elementet i samlingen.

for (var n in nums) {
  n = n * 2; // does not change nums
}

Ändra inte under loopning

Om du lägger till eller tar bort objekt från en samling under en for-in uppstår ett fel. Skapa i stället en ny lista eller loopa över en kopia.

for (var x in list) {
  // list.add(x); // throws!
}

Alternativet forEach

Metoden forEach gör samma sak med en callback. for-in är vanligtvis tydligare och stöder break och continue.

fruits.forEach((f) => print(f));

Snabb kontroll

Du vill skriva ut alla värden i en List utan att hantera ett index. Vilket är det tydligaste valet?

Sammanfattning

Du har lärt dig for-in-loopen: besök varje objekt i valfri Iterable utan räknare. Loopa enkelt genom listor, mängder och Map-poster. 🎯

Gratis att börja

Lär dig Dart med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
30
Lektioner
120

Vanliga frågor

Är lektionen ”for-in över samlingar” gratis?

Ja – hela texten till ”for-in över samlingar” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Dart Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Dart Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”for-in över samlingar”?

Gå igenom varje objekt utan index Ni övar på Dart Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Dart Academy?

Du behöver inga förkunskaper. Utbildningen i Dart Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.

Hur lång tid tar lektionen ”for-in över samlingar”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Dart Academy-lektionen?

Ja. Varje Dart Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Den klassiska for-loopen
  2. while- och do-while-loopar
  3. for-in över samlingar
  4. break, continue och etiketter
← Tillbaka till Dart Academy