开发者社区> 问答> 正文

关于在js中的正则公式报错 <b> ?报错

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')

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

展开
收起
爱吃鱼的程序员 2020-06-22 23:44:56 471 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

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

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

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

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

    mac里面关键字冲突。$

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

    2020-06-22 23:45:15
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript面向对象的程序设计 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载