加入字符串数组?

Rot*_*eti 6 reason

在JavaScript中,您可以加入一个字符串数组,例如:

fruits = ["orange", "apple", "banana"];
joined = fruits.join(", ");

console.log(joined)

// "orange, apple, banana"
Run Code Online (Sandbox Code Playgroud)

你是如何在ReasonML中做到这一点的?

noz*_*iar 7

你可以使用Js.Array.joinWith:

let fruits = [|"orange", "apple", "banana"|];
let joined = Js.Array.joinWith(", ", fruits);
Js.log(joined);
// "orange, apple, banana"
Run Code Online (Sandbox Code Playgroud)


小智 5

将数组转换为连接值的字符串听起来像是 Array.fold_left 的工作,但是运行

Array.fold_left((a, b) => a ++ "," ++ b, "", fruits);
Run Code Online (Sandbox Code Playgroud)

产生“,橙色,苹果,香蕉”。

理想情况下,折叠(第二个参数)的起始值应该是数组中的第一个元素,而实际使用的数组将是其余的元素,这避免了初始逗号。不幸的是,这对于数组来说并不容易实现,但是对于列表来说:

let fruitList = Array.to_list(fruits);
let joined = List.fold_left((a, b) => a ++ "," ++ b, List.hd(fruitList), List.tl(fruitList));
/*joined = "orange,apple,banana"*/
Run Code Online (Sandbox Code Playgroud)

列表中的 Reasonml 文档