Brian Carbone
12/06/2019, 6:08 PMprivate tailrec fun <T> traverse(map: Map<*, T?>, i: Int, vararg keys: String): T? {
var _i = i
val value = map[keys[_i]] ?: return null
if (i == keys.size - 1) return value
return traverse(value as Map<*, T?>, ++_i, *keys)
}
traverse<String>(map, 0, "key1", "key2", "key3")