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