Logo

Programming-Idioms

This language bar is your friend. Select your favorite languages!

Idiom #257 Traverse list backwards

Print each index i and value x from the list items, from the last down to the first.

[...items].reverse().forEach((item, index) => 
console.log(Math.abs(index -= items.length), item));
for(int i = items.Count - 1; i >= 0; i--)
{
    Console.WriteLine($"Index = {i}, Item = {items[i]}");
}
var i = items.length ;
for (var e in items.reversed) {
  i--;
  print("$i, $e");
}
do i=size(items),1,-1
  print *,i,items(i)
end do
import "fmt"
for i := len(items) - 1; i >= 0; i-- {
	x := items[i]
	fmt.Printf("Item %d = %v \n", i, x)
}
for(int i = items.length-1;i>=0;i--){
	System.out.println("Index:"+ i +", Value:" + items[i]); 
}
import static java.lang.System.out;
import static java.util.stream.IntStream.iterate;
int n = items.size();
iterate(n - 1, i -> i - 1)
    .limit(n)
    .forEach(i -> {
        out.println(i + " " + items.get(i));
    });
import static java.lang.System.out;
T x;
int i = items.size() - 1;
while (i != -1) {
    x = items.get(i);
    out.printf("%s %s%n", i--, x);
}
import static java.lang.System.out;
import static java.util.Collections.reverse;
reverse(items);
int i = items.size() - 1;
for (T x : items)
    out.printf("%s %s%n", i--, x);
for i := items.count-1 downto 0 do writeln(i,' ',items[i]);
for ($i = $#items; $i >= 0; $i--) {
    print "$i $items[$i]\n";
}
for i, x in enumerate(reversed(items)):
  print(f'{i} {x}')
for i in range(len(items)-1, -1, -1):
    print(i, items[i])
x = enumerate(items)
print(*reversed([*x]))
items.each_with_index.reverse_each{|x, i| puts "#{i} #{x}" }
for (i, item) in items.iter().enumerate().rev() {
    println!("{} = {}", i, *item);
}
  for (i, x) in items.iter().rev().enumerate() {
    println!("{i} = {x}");
  }
(define (reversed-inspect items)
  (foldl (lambda (x i)
          (display (format "~a ~a\n" i x))
          (sub1 i))
         (sub1 (length items))
        (reverse items)))

New implementation...
< >
programming-idioms.org