我有以下格式的Javascript数组;
["One","Two","Three"]
我希望这是一个以下格式的字符串;
('One','Two','Three')
我尝试了以下内容;但它说TypeError: arr.replace is not a function
(我想这是因为arr
是一个数组)
arr=arr.replace("[","(");
arr=arr.replace("]",")");
如何使用[ " ]
替换字符串( ' )
,如上所述。
答案 0 :(得分:1)
您可以使用Array.join()
:
> var a = ["One","Two","Three"];
> "('" + a.join("','") + "')"
"('One','Two','Three')"
答案 1 :(得分:1)
好吧,你不能在Array上使用.replace。您可以执行以下操作
var arr = ["One","Two","Three"];
arr = "('" + arr.join("', '") + "')";
答案 2 :(得分:0)
您必须将其转换为字符串,而不是数组实例。 试试这个:
arrStr = arr.toString();
arrStr=arrStr.replace("[","(");
arrStr=arrStr.replace("]",")");
编辑我记错了,这不会提供合适的结果......输出结果如下:
One,Two,Three.
推荐的解决方案首先由@Blender发布,将阵列部分连接在一起,并添加所需的开始和结束括号......
如果你必须只使用replace()来解决这个问题,这将得到正确的结果:
arrStr = arr.toString();
arrStr=arrStr.replace(",","','");
arrStr = "('" + arrStr "')";
答案 3 :(得分:0)
您可以使用此代码将数组转换为字符串
var arr = ["One","Two","Three"];
var str = "('"+arr.join("','")+"')";
alert(str);