我尝试使用唯一标识符初始化一组元素。元素是初始模型的一部分。
我想到的是一个功能
initElement: Int -> InputElement -> Output
initElement id element = ...
将给定的id添加到给定元素。现在我在另一个函数中迭代这些元素,如下所示:
uid = 0
elementsList = ...
newList = List.map (initElement uid++) elementsList
我希望这个整数 uid 随着List.map对元素的每次迭代而增加,以便每个元素都获得一个唯一的编号。 ++显然不起作用。
这是可能的,还是我认为过于面向对象?我对函数式编程很陌生。
答案 0 :(得分:4)
一种选择是使用List.indexedMap
http://package.elm-lang.org/packages/elm-lang/core/3.0.0/List#indexedMap
它为您的函数提供了一个很好的递增索引作为第一个参数。然后您可以使用它来修改传入的uid approriattely