2017-02-07 8 views
0

配列内の要素のインデックスを見つけるのに、どの関数を使うことができますか? は例えば、私は配列内の要素のインデックスを見つける - Haskell

lowerCase = listArray ((0,0),(1,12)) ['a'..] 
+0

Data.ArrayArray'x'のインデックスを検索したい多くの 'X'は、アレイに存在する場合は?基本的に配列はインデックスでアクセスするためのもので、要素のインデックスを探す必要がある場合、配列は正しいデータ構造ではありません。 – Ankur

+0

ありがとうございます。私の場合は、配列に重複データがないことを知っています...タプルでデータにアクセスしたいので、Arrayを使用しています。その場合、どのデータ構造を推奨しますか? – eii0000

答えて

0
fst <$> find ((== 'a') . snd) $ assocs lowerCase 
+0

なぜ 'array'は独自の' find'を持っていませんか?この場合は 'elemIndex' /' elemIndices'ですか? – Michael

+0

@Michael 'Array'は' Foldable'インスタンスを持っているので、 'find'を使うことができます。私は 'Array'の' elemIndex'がなぜ存在しないのか分かりません。 – bwroga

+0

ありがとう!ちょっと小さなこと..私が追加したのは fst $ fromJust $ find((== 'a')。snd)$ assocs lowerCase – eii0000

関連する問題