在Elm中,如何通过字符串访问字段?

时间:2017-03-22 18:56:42

标签: javascript elm

在JavaScript中我们可以做obj ['name'],在Elm中有类似的东西吗?

我要做的是创建一个函数,在用户点击列标题时对列表进行排序,因此我的sort函数将使用字符串或(。)函数来指示要排序的字段。我如何实现这一目标?

1 个答案:

答案 0 :(得分:3)

您无法使用字符串访问记录字段,因为Elm编译器无法确定您的代码是否正确。您应该创建自己的函数,将列名称映射到可能的字段名称,然后将其与核心List.sortBy一起使用:

type alias User = { name : String, height: Int }

sort : String -> List User -> List User
sort column rows = 
    case column of
        "name" -> List.sortBy .name rows
        "height" -> List.sortBy .height rows
        _ -> rows