Simple For Loop in Swift, Kotlin and JavaScript

A core feature of all programming languages is the trusty for loop. For loops execute a statement a predefined number of times with some way to exit the loop early.

Swift

Swift uses range operators to construct simple for loops.

 1let start = 0
 2let end = 10
 3
 4for i in start ... end {
 5  print(i)  // prints 0 through 10
 6}
 7
 8for i in start ..< end {
 9  print(i)  // prints 0 through 9
10}

To increment the counter other than by 1, Swift has a stride keyword.

 1let start = 0
 2let end = 10
 3
 4for i in stride(from: start, to: end, by: 2) {
 5    print(i)	// prints 0, 2, 4, 6, 8 (10 is not included)
 6}
 7
 8for i in stride(from: end, to: start, by: -2) {
 9    print(i)    // prints 10, 8, 6, 4, 2 (0 is not included)
10}

To break out of a for loop early, Swift uses the break keyword.

1let start = 0
2let end = 10
3
4for i in start...end {
5    if i > 4 {
6        break
7    }
8    print(i)    // prints 0, 1, 2, 3, 4
9}

Kotlin

Kotlin uses a similar range operator for the inclusive range, and the until keyword for a non-inclusive range.

1val start = 0
2val end = 10
3
4for (i in start..end) {
5	print(i)	// prints 0 through 10
6}
7for (i in start until end) {      
8	print(i) 	// prints 0 through 9
9}

To increment the counter by other than 1, Kotlin uses the step keyword.

 1val start = 0
 2val end = 10
 3
 4for (i in end downTo start step 2) {
 5    print(i)	// prints 10, 8, 6, 4, 2, 0
 6}
 7
 8for (i in start..end step 2) {      
 9    print(i)	// prints 0, 2, 4, 6, 8, 10
10}

To break out of a for loop early, Kotlin uses the break keyword.

1val start = 0
2val end = 10
3        
4for (i in start..end) {      
5    if (i > 4) break
6    print(i)	// prints 0, 1, 2, 3, 4
7}

JavaScript

JavaScript follows the traditional C/C++ for loop syntax.

 1const start = 0
 2const end = 10
 3
 4for (let i = start; i <= end; i++) {
 5  console.log(i)	// prints 0 through 10
 6}
 7
 8for (let i = start; i < end; i++) {
 9  console.log(i)	// prints 0 through 9
10}

In the C/C++ syntax, incrementing the counter is simply changing the increment parameter of the for invocation.

1for (let i = start; i < end; i += 2) {
2  console.log(i)	// prints 0, 2, 4, 6, 8
3}
4
5for (let i = end; i >= start; i -= 2) {
6  console.log(i)	// prints 10, 8, 6, 4, 2, 0
7}

To break out of a for loop early, JavaScript also uses the break keyword.

1const start = 0
2const end = 10
3
4for (let i = start; i < end; i++) {
5  if (i > 4) break
6  console.log(i)	// prints 0, 1, 2, 3, 4
7}