如何在javascript中将数组拆分为单引号和逗号分隔列表

如何在javascript中将数组拆分为单引号和逗号分隔列表,javascript,arrays,Javascript,Arrays,例如,如果我有一个javascript数组 var productIds = ["abc", "xyz", "123"]; //having string elements 我想要的输出不仅是用逗号分隔数组,而且用引号将每个元素括起来 'abc', 'xyz', '123' 我最多可以加入,productIds.join(“,”)但是如何用引号括起来?您可以使用.map(): .map()功能在较新的浏览器中可用;如果您需要代码在较旧的浏览器中工作,您可以包含一个垫片,或者简单地将其实现为

例如,如果我有一个javascript数组

var productIds = ["abc", "xyz", "123"]; //having string elements 
我想要的输出不仅是用逗号分隔数组,而且用引号将每个元素括起来

'abc', 'xyz', '123'
我最多可以加入,
productIds.join(“,”)
但是如何用引号括起来?

您可以使用
.map()

.map()
功能在较新的浏览器中可用;如果您需要代码在较旧的浏览器中工作,您可以包含一个垫片,或者简单地将其实现为一个简单的循环:

var quotedIds = [];
for (var i = 0; i < productIds.length; ++i)
  quotedIds.push("'" + productIds[i] + "'");
quotedIds = quotedIds.join(", ");
var quotedIds=[];
对于(变量i=0;i
将引号添加到
连接中
,然后将生成的字符串也用引号括起来。如果可以更高效、更具可读性,则无需增加任何额外开销

"'" + myArray.join("', '") + "'";
唯一失败的情况是使用空数组,因此您可以在这种情况下测试长度(括号不是必需的,它们只是为了可读性):


map
更清晰地覆盖了空数组,这两种方法都是可行的,甚至是真正可行的
"'" + myArray.join("', '") + "'";
myArray.length ? ( "'" + myArray.join("', '") + "'" ) : '';