例如,如果我在javascript中有一个数组
var productIds = ["abc", "xyz", "123"]; //having string elements
我想要的输出不仅是用逗号分隔数组而是用引号括起每个元素。
'abc', 'xyz', '123'
我可以加入,productIds.join(', ')
但是如何用引号括起来?
答案 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(", ");