首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >连接字符串数组?

连接字符串数组?
EN

Stack Overflow用户
提问于 2018-04-20 22:32:46
回答 3查看 2.6K关注 0票数 7

在JavaScript中,您可以联接字符串数组,例如:

代码语言:javascript
复制
fruits = ["orange", "apple", "banana"];
joined = fruits.join(", ");

console.log(joined)

// "orange, apple, banana"

在ReasonML中如何做到这一点?

EN

回答 3

Stack Overflow用户

发布于 2018-04-26 19:09:36

您可以使用Js.Array.joinWith

代码语言:javascript
复制
let fruits = [|"orange", "apple", "banana"|];
let joined = Js.Array.joinWith(", ", fruits);
Js.log(joined);
// "orange, apple, banana"
票数 9
EN

Stack Overflow用户

发布于 2018-05-23 22:12:10

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

代码语言:javascript
复制
Array.fold_left((a, b) => a ++ "," ++ b, "", fruits);

生产",橙子,苹果,香蕉“。

理想情况下,fold的起始值(第二个参数)应该是数组中的第一个元素,而实际使用的数组应该是其余的元素,这就避免了首个逗号。不幸的是,这在数组中是不容易做到的,但是在列表中是可以做到的:

代码语言:javascript
复制
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"*/

Reasonml docs on lists

票数 5
EN

Stack Overflow用户

发布于 2018-07-03 14:15:21

下面是如何在ReasonML中实现您自己的join函数:

代码语言:javascript
复制
let rec join = (char: string, list: list(string)): string => {
  switch(list) {
  | [] => raise(Failure("Passed an empty list"))
  | [tail] => tail
  | [head, ...tail] => head ++ char ++ join(char, tail)
  };
};

这样,Js.log(join("$", ["a", "b", "c"]))就给了你"a$b$c",就像JavaScript一样。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49944067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档