关于在js中的正则公式报错

str=[{"name":"xxx贸易有限公司","value":1731}]

str=str.replace(/"(\w+)":/g,"$1:"); //这条正则报错
str=str.replace(/\"/g,"'"); //这条正常

最终显示[{name:'xxx贸易有限公司',value:1731}]
在Eclipse运行中正常,在手机也在正常,但在MAC电脑浏览器上那条str.replace显示错误:undefined is not an object (evaluating 'str.replace')

这是什么问题引起的?有什么解决办法?

str没有得到值,实际发生的错误在前面,什么导致str为空。

你的str到底是字符串还是数组?数组没有replace方法,你的非mac电脑正常非常怀疑。。。

关键字冲突 $ 这个东西不能乱用

str=[{"name":"xxx贸易有限公司","value":1731}] 这个 类型不是字符串

mac 里面关键字冲突。$

数组也可以用正则替换字符?