Elm 中的传播运算符
Spread operator in Elm
我想显示一个 select 框的选项,列表中有 2 个现有选项。
我想要的是这样的:(spread operator
in JS)
select
[ class "js-wlSize" ]
[ option [ disabled True ] [ text "Choose size" ]
, option [] [ text "Default size" ]
...( List.map (\s -> option [ value s ] [ text s] ) myListData )
]
我也尝试过 ( :: ),但它适用于 1 个默认选项。我不知道如何处理 2 和更多。
有谁知道如何在 Elm 中存档吗?
您可以链接 cons 运算符,例如:
1 :: 2 :: [ 3, 4, 5 ]
但是如果您有一个列表,那么附加运算符 ++
可能更合适:
[ 1, 2 ] ++ [ 3, 4, 5 ]
但是请注意,append 在列表上的效率非常低,尤其是与 cons 相比。 Cons 是 O(1) 而 append 是 O(n),见 Why is appending to a list bad?。这对于小型列表来说无关紧要,但如果您发现自己想要在大型列表上使用追加,您可能需要重新考虑您的方法。
我想显示一个 select 框的选项,列表中有 2 个现有选项。
我想要的是这样的:(spread operator
in JS)
select
[ class "js-wlSize" ]
[ option [ disabled True ] [ text "Choose size" ]
, option [] [ text "Default size" ]
...( List.map (\s -> option [ value s ] [ text s] ) myListData )
]
我也尝试过 ( :: ),但它适用于 1 个默认选项。我不知道如何处理 2 和更多。
有谁知道如何在 Elm 中存档吗?
您可以链接 cons 运算符,例如:
1 :: 2 :: [ 3, 4, 5 ]
但是如果您有一个列表,那么附加运算符 ++
可能更合适:
[ 1, 2 ] ++ [ 3, 4, 5 ]
但是请注意,append 在列表上的效率非常低,尤其是与 cons 相比。 Cons 是 O(1) 而 append 是 O(n),见 Why is appending to a list bad?。这对于小型列表来说无关紧要,但如果您发现自己想要在大型列表上使用追加,您可能需要重新考虑您的方法。