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

时间:2014-09-08 19:50:39

标签: javascript arrays

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

var productIds = ["abc", "xyz", "123"]; //having string elements 

我想要的输出不仅是用逗号分隔数组而是用引号括起每个元素。

'abc', 'xyz', '123'

我可以加入,productIds.join(', ')但是如何用引号括起来?

2 个答案:

答案 0 :(得分:8)

将引号添加到join中,然后将结果字符串包装在引号中。当它可以更有效地完成并且更具可读性时,无需添加任何额外开销。

"'" + myArray.join("', '") + "'";

失败的唯一情况是使用空数组,因此您可以在这种情况下测试长度(括号不是必需的,它们只是为了再次阅读):

myArray.length ? ( "'" + myArray.join("', '") + "'" ) : '';

答案 1 :(得分:4)

您可以使用.map()

var quotedIds = productIds.map(function(id) { return "'" + id + "'"; }).join(", ");

.map()功能适用于较新的浏览器;如果你需要你的代码在旧的浏览器中工作,你可以包含一个垫片,或者只是简单地实现它:

var quotedIds = [];
for (var i = 0; i < productIds.length; ++i)
  quotedIds.push("'" + productIds[i] + "'");
quotedIds = quotedIds.join(", ");