Mastering Nested Loops in Dart

Introduction

Our journey today delves into the intricate world of Exploring Nested Loops in Dart. Think of these as interlocking cogs within a mechanism, each managing its distinct movement. By the end of this session, we aim to understand and adeptly navigate these loops in Dart.

Structure of a Nested for Loop in Dart

Structure of a Nested while Loop in Dart

Iterations and Nested Loops: An Example

To illustrate nested loops, let's examine a two-dimensional (2D) list — essentially a list of lists:

var matrix = [
    [1, 2, 3],
    [4, 5, 6], 
    [7, 8, 9]
];

for (var i = 0; i < matrix.length; i++) {   // Iterating over each row.
    var row = '';
    for (var j = 0; j < matrix[i].length; j++) {  // Iterating over each element in the row.
        row += '${matrix[i][j]} ';
    }
    print(row);
}
/*
Prints:
1 2 3
4 5 6
7 8 9
*/

For every i row in the outer loop, an inner loop runs through every element within that row.

Combining `for` and `while` Loops: Building a Numerical Pyramid

Now let's explore how to combine a for loop with a while loop to construct a numerical pyramid. This example demonstrates the adaptability of nested loops in Dart and how they can be seamlessly integrated.

for (var i = 1; i <= 5; i++) { // The first loop (for) denotes each level of the pyramid.
    var row = '';
    var j = 1;
    while (j <= i) { // The second loop (while) adds numbers to each level.
        row += '$j ';
        j++;
    }
    print(row); // Prints each level of the pyramid.
}

/*
Prints:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
*/
Sign up

Join the 1M+ learners on CodeSignal

Be a part of our community of 1M+ users who develop and demonstrate their skills on CodeSignal