我的问题是更多地了解文档.它说:
fun <K, V> Map<out K, V>.forEach(
action: (Entry<K, V>) -> Unit)
Run Code Online (Sandbox Code Playgroud)
但是我不明白如何实现它.我如何获得循环中的键和值?
我想listItems在价格的价值中为每个项目求和.地图将字符串与项目相关联
data class Item(val name: String, val description: String, val price: String, val index: Int)
Run Code Online (Sandbox Code Playgroud)
想象一下listItems包含这个:
listItems ["shirt"] - >名称:衬衫,描述:lorem ipsum,价格:10,指数:0
listItems ["shoes"] - >名称:鞋子,描述:lorem ipsum,价格:30,指数:0
所以代码将是这样的:
var total: Int = 0
listItems.forEach {
total += parseInt(value.price)
}
Run Code Online (Sandbox Code Playgroud)
但是我不明白如何访问这个value引用V文档
如果我写下一个代码我得到编译器错误:"未解析的refrence:target"
jq("#element").click {
console.log(it.target)
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我只打印"它"它具有属性目标
r.Event {originalEvent: MouseEvent, type: "click", target: button, currentTarget: button, relatedTarget: null…}
Run Code Online (Sandbox Code Playgroud)
那么我如何获得目标呢?
让我们想象一下这样的事情:
var num: Float = 0.0f
num = 2.4 * 3.5 / 3.8
Run Code Online (Sandbox Code Playgroud)
num 有几个小数,但我只想要2.
在JS我会用num.toFixed(2).
这里的其他答案建议使用"%.2f".format(num)或num.format(2).后者需要自定义扩展乐趣:
fun Double.format(digits: Int) = java.lang.String.format("%.${digits}f", this)
Run Code Online (Sandbox Code Playgroud)
但是,这些选项中的任何一个都会导致"未解析的引用"的编译器错误.我不认为是进口的问题,因为编译器会建议它.
是否有捷径可寻?
kotlin ×3