这一定是一个非常愚蠢的问题,但在我发现的教程中,它们通常会打印一组的所有值。如果我只想要与键对应的值,该怎么办?对不起,我是Kotlin和OOP的新手。
例如:
function() {
var element = document.querySelector('*[id^="price"]');
var price = element.innerHTML.match(/\d*\.\d*/)[0];
return price;
}
如果只有密钥val words = listOf("a", "abc", "ab", "def", "abcd")
val byLength = words.groupBy { it.length }
println(byLength.keys) // [1, 3, 2, 4]
println(byLength.values) // [[a], [abc, def], [ab], [abcd]]
?
[abc, def]
答案 0 :(得分:1)
groupBy
会返回一张地图。您可以使用[]
运算符从地图中获取值:
byLength[3]
答案 1 :(得分:1)
byLength[3]
这是您在Kotlin中索引地图的方式。
答案 2 :(得分:1)
groupBy
会返回Map
,特别是Map<Int, List<String>>
。如果需要与给定键关联的值,可以使用get
方法(也可以称为运算符):
val v1: List<String>? = byLength.get(3)
val v2: List<String>? = byLength[3]
或者,getOrDefault
会给你一个不可为空的结果:
val v3: List<String> = byLength.getOrDefault(3, emptyList())
答案 3 :(得分:1)
println(byLength[3])
并且可以访问abc
和def
val tab = byLength[3]!!
println(tab[0]) // abc
println(tab[1]) // def