Show how to iterate over the key-value pairs of an associative array, and print each pair out.

Also show how to iterate just over the keys, or the values, if there is a separate way to do that in your language.



See also

 Array
 Associative array: Creation, Iteration
 Collections
 Compound data type
 Doubly-linked list: Definition, Element definition, Element insertion, List Traversal, Element Removal
 Linked list
 Queue: Definition, Usage
 Set
 Singly-linked list: Element definition, Element insertion, List Traversal, Element Removal
 Stack


go =>
  Map = new_map([1=one,2=two,3=three,4=four]),
  foreach(K=V in Map)
    println(K=V)
  end,
  nl,
 
  println(keys=Map.keys),  
  foreach(K in Map.keys.sort)
    println(K=Map.get(K))
  end,
  nl,
 
  println(values=Map.values),
  foreach(V in Map.values.sort)
    % This works but gets a warning: nonlocal_var_in_iterator_pattern
    % println(V=[K : K=V in Map])
 
    % No warning:
    println(V=[K : K=V1 in Map,V1 == V])
  end,
  nl.