Arrays iterieren mit JavaScript

Es gibt mehrere Möglichkeiten, um ein Array in JavaScript zu iterieren. Die gebräuchlichsten Formen sind diese:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var animals = ['beaver','monkey','lion'];
 
// for loop #1
for(var i=0;i<animals.length;i++){
  console.log(animals[i]);
}
 
// for loop #2
for(var i in animals){
  console.log(animals[i]);
}
 
// foreach loop (does not work in IE8 and lower!)
animals.forEach(function(animal){
  console.log(animal);
});

Aus dem Artikel „How many ways can you iterate over an array in JavaScript“ möchte ich noch zwei weitere Wege vorstellen:

1
2
3
4
// Perl-like syntax
[console.log(animal) for each (animal in animals)];
// Iterator
[console.log(animal) for ([i,animal] in Iterator(animals))];

java.util.ConcurrentModificationException vermeiden

Zur Ausgabe von Listen eignen sich foreach-Schleifen besonders gut. Man sollte jedoch vermeiden, innerhalb eines foreach-Blocks die Liste zu modifizieren, da die Datenstruktur der Liste während der Iteration für Veränderungen gesperrt ist. Ein Hinzufügen oder Löschen von Elemente führt somit zur java.util.ConcurrentModificationException.
java.util.ConcurrentModificationException vermeiden weiterlesen

HashMap durchlaufen und auslesen

Allgemein

In einer HashMap werden Daten nach dem Key-Value-Prinzip abgelegt. Die Keys sind eindeutig, d.h. jeder Key (Schlüssel) kommt nur einmal vor. Werden Elemente unter dem selben Key abgespeichert, so wird der bereits vorhandene Value überschrieben. Alle Werte werden unsortiert in der HashMap abgelegt, d.h. was zuerst reingelegt wird muss bei der Ausgabe nicht unbedingt auch zuerst wieder rauskommen. Das folgende Code-Beispiel stellt die Verhaltensweisen anschaulich dar:

Code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.util.HashMap;
 
public class TestMain
{
  public static void main(String[] argv)
  {
    HashMap<String, String> map = new HashMap<String, String>();
 
    map.put("Vorname", "Lara");
    map.put("Vorname", "Ralf");
    map.put("Vorname", "Johanna");
    map.put("Vorname", "Benny");
    map.put("Nachname", "Neugebauer");
    map.put("Geburtsort", "Potsdam");
    map.put("Telefon", "123456");
 
    for(String key : map.keySet())
    {
      System.out.print("Key: " + key + " - ");
      System.out.print("Value: " + map.get(key) + "\n");
    }
  }
}

Ausgabe:

1
2
3
4
Key: Nachname - Value: Neugebauer
Key: Geburtsort - Value: Potsdam
Key: Telefon - Value: 123456
Key: Vorname - Value: Benny

HashMap durchlaufen und auslesen weiterlesen