如何在 F# 中合并数组

4

我没有找到可以连接数组的方法或函数,且 "@" 和 "+" 运算符不能使用。

是否有任何简单的函数或运算符可以实现这一点,就像在 JavaScript 中的 [...array1, element1, elment2]。

已知:

let a = [|1;2;3|]
let b = [|2;3;4|]

want

let c = [|1;2;3;4|]
let d = [|1;2;3;2;3;4|]

1
@List.append 的简写。同样地,你可以使用 Array.append a b 来操作数组。 - Asti
2个回答

4

根据您的业务需求,如果经常进行追加操作,数组可能不是最适合您的数据结构。

数组推导式语法提供了类似的功能,yield! 可以生成数组,并且单个元素可以直接使用。

[| yield! a; 4] = [| 1; 2; 3; 4|]

[| yield! a; yield! b |] =  [|1; 2; 3; 2; 3; 4|]

3
你可以使用内置函数。
let c = Array.distinct (Array.concat [a; b])
let d = Array.concat [a; b] // allows arbitrary count of elements

更新: Array.distinct 保留元素的顺序。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接