我有两个数组:值和分数。 Score数组为Value数组中的每个项目提供评级。什么是"适当的" FP方式获取对应最高分的值。我知道如何获得最高分,但另一篇文章表明获得相应的索引并不合适FP。
答案 0 :(得分:1)
您可以压缩两个数组,然后应用maxBy函数:
let value = [| 4; 3; 8; 2|]
let score = [|35;25;60;20|]
let valScore = Array.zip value score
let maxScore = Array.maxBy snd valScore
let result = fst maxScore
当然,如果您只对最终结果感兴趣,可以一步完成所有操作,如果数组庞大,您可以使用Seq:
let result = Seq.zip value score |> Seq.maxBy snd |> fst