Planet JFX

Array Iteration with For

118pages on
this wiki
Add New Page
Talk0 Share

Consider the following array of String:

var animal:String* = ["ape", "bear", "cat", "dog"];

When you wish to iterate through such an array and don’t need to know an element’s position, you should use the “list comprehension” version of for:

for (creature in animal)
    System.out.println( creature );

If you need to know an element’s position, you might be tempted to do something like this:

for (i in [0..sizeof animal - 1])
    System.out.println( "Animal {i} - {animal[i]}" );

If the array is not empty, the code works. If, however, you have an empty array, the range expression [0..sizeof animal-1] will generate the sequence [0, -1], which is almost certainly not what you want.

Instead, go back to the original list comprehension form, and let the indexof operator tell you the element’s position:

for (creature in animal)
    System.out.println("Animal {indexof creature} - {creature}");

Ad blocker interference detected!

Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Also on Fandom

Random Wiki