<@U22E8GSNL> ``` data class Item( val n: Int,...
# announcements
v
@forcelain
Copy code
data class Item(
    val n: Int, 
    val Children: List<Item> = emptyList()
)

fun Item.allSubitems(): List<Item> =
    this.Children.flatMap {
        mutableListOf(it).apply { this.addAll(it.allSubitems()) }
    }

fun main(args: Array<String>) {
    val item = Item(0, listOf(Item(1, listOf(Item(2), Item(3)))))
    println(item.allSubitems().map { it.n })
}
Copy code
[1, 2, 3]