我有一个JavaScript中的一维字符串数组,我想把它转换成一个逗号分隔的列表。在普通JavaScript(或jQuery)中是否有一种简单的方法将其转换为逗号分隔的列表?(我知道如何通过数组迭代,并通过连接自己构建字符串,如果这是唯一的方法。)


当前回答

我喜欢https://jsfiddle.net/rwone/qJUh2/上的解决方案,因为它在逗号后添加了空格:

array = ["test","test2","test3"]
array = array.toString();
array = array.replace(/,/g, ", ");
alert(array);

或者,正如@ stackover缺陷在评论中建议的那样:

array.join(', ');

其他回答

使用内置的Array。toString方法

var arr = ['one', 'two', 'three'];
arr.toString();  // 'one,two,three'

Array.toString()上的MDN

你想以"and"结尾吗?

对于这种情况,我创建了一个npm模块。

试试arrford:

使用

const arrford = require('arrford');

arrford(['run', 'climb', 'jump!']);
//=> 'run, climb, and jump!'

arrford(['run', 'climb', 'jump!'], false);
//=> 'run, climb and jump!'

arrford(['run', 'climb!']);
//=> 'run and climb!'

arrford(['run!']);
//=> 'run!'

安装

npm install --save arrford

阅读更多

https://github.com/dawsonbotsford/arrford

自己试试吧

主音链接

var array = ["Zero", "One", "Two"];
var s = array + [];
console.log(s); // => Zero,One,Two

简单的数组

let simpleArray = [1,2,3,4] let commaSeperated = simpleArray.join(","); console.log (commaSeperated);

以逗号分隔的特定属性的对象数组。

let arrayOfObjects = [ { Id: 1, 姓名:“姓名1”, 地址:“地址1” }, { Id: 2, 姓名:“姓名2”, 地址:“地址2” }, { Id: 3, 姓名:“姓名3”, 地址:“地址3” }) let names = arrayOfObjects。Map (x => x.name).join(", "); console.log(名称);

结果

Name 1, Name 2, Name 3

如果你需要用“and”代替“”,在最后两项之间,你可以这样做:

function arrayToList(array){
  return array
    .join(", ")
    .replace(/, ((?:.(?!, ))+)$/, ' and $1');
}