获取json的key值时,如果key值的小数点为零,会报错undefined

发布于 2022-09-05 22:07:18 字数 519 浏览 11 评论 0

(function() {
    var json = {
        "0.1": "111111",
        "5.6": "666666",
        "14.8": "88888",
        "12.0": "123456",
        "8.0": "34545",
        "7": "45353434"
    }
    console.log(json);
    console.log(json[0.1]); //打印出 "111111"
    console.log(json[8.0]); //打印出 undefined
})()

为什么小数点为0时会出现错误呢,那要怎么拿到这个key=8.0时的value值呢

clipboard.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

童话 2022-09-12 22:07:18

加引号

json["8.0"]

js是弱类型语言 涉及到类型转换
所以最好你用什么类型定义的就用什么类型调用

var json1 = {
    8.0: "34545",
}
console.log(json1[8.0])//没错
console.log(json1["8.0"])//undefined
var json2 = {
    "8.0": "34545",
}
console.log(json2["8.0"])//没错
console.log(json2[8.0])//undefined
木槿暧夏七纪年 2022-09-12 22:07:18

加引号。。

console.log(json['8.0'])

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文