js报错TypeError: Cannot find function match in object

写js脚本时,从上面输出的数据,给下面的模块引用;console.log() 显示传入的值为{5.0, 6.0},但下面的模块会报错 TypeError: Cannot find function match in object 。但定义一个变量,值同为 {5.0, 6.0} 就不会报错。百度无果,遂翻看类似的文章。突然想到应该是数据类型的原因, {5.0, 6.0} 长得有点像json,于是将 json 转换为字符串,转换结果为:{“x”:5.0,”y”:6.0} 。

解决方法:

方法一:使用转换函数 toString()

toString() 方法可把一个对象转换为一个字符串。json 的值传给下面的模块无法直接使用,遂转换成字符串后使用。转换后的结果和 console.log() 一样,而不是 json 的原数据。

//a为上一个模块输出的json数据,内容为:{"x":5.0,"y":6.0}
console.log(a);  //输出结果为{5.0, 6.0}
a = a.toString();  //输出结果为:{5.0, 6.0}

方法二:使用 JSON.stringify()

JSON.stringify() 方法用于将 json 对象转换为字符串。转换后的结果和json原数据一样。

//a为上一个模块输出的json数据,内容为:{"x":5.0,"y":6.0}
console.log(a);  //输出结果为{5.0, 6.0}
a = JSON.stringify(a);  //输出结果为:{"x":5.0,"y":6.0}

方法三:直接调用json的值

如果想使用json中的值,可以直接调用json值。

//a为上一个模块输出的json数据,内容为:{"x":5.0,"y":6.0}
var x = a.x;  //x类型为字符串,值为5.0
var y = a.y;  //y类型为字符串,值为6.0

给TA打赏
共{{data.count}}人
人已打赏
开发数据库电脑运维

php composer.phar install大量报错could not be found in any version, there may be a typo in the package name

2023-9-14 21:29:54

开发数据库电脑运维

Systemctl和Unit file

2023-9-14 23:42:49

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索