Are there any alternative approaches to achieving the desired outcome without using nested loops in Twig?

Nested loops in Twig can sometimes lead to performance issues, especially when dealing with large datasets. One alternative approach to achieving the desired outcome without using nested loops is to preprocess the data in the controller or service layer of your application before passing it to the Twig template. By restructuring the data beforehand, you can often simplify the template logic and reduce the need for nested loops.

// Controller or Service Layer
$data = [
    'users' => [
        ['name' => 'Alice', 'age' => 30],
        ['name' => 'Bob', 'age' => 25],
        ['name' => 'Charlie', 'age' => 35]
    ]
];

// Process the data to group users by age range
$groupedUsers = [];
foreach ($data['users'] as $user) {
    $ageRange = floor($user['age'] / 10) * 10;
    $groupedUsers[$ageRange][] = $user;
}

return $this->render('template.html.twig', ['groupedUsers' => $groupedUsers]);