将json 对象中的值 由字符串(数字字符串) 转换为 数值类型,如果是 转换失败 ,就返回 -1
这里的 parseInt 看起来非常简洁,但是存在一个小坑
transformedData[fieldsToCheck[i]] = parseInt(originalValue) || -1
由于我的数据中会牵扯很多默认配置,而在系统中,默认配置通常用 0来表示,因此在这里转换时 会将 字符串 “0” ,转换为 0
紧接着就是逻辑或处理 || 坑就来了,我的本意是用来放置NaN 的出现,所以才用 ||
去赋值一个默认值
但是 0 在JS中默认 会表示为 false ,也就是 所有 字符串 “0” ,都会被转为 我的防空数字 -1这也就导致我了数据丢失
因此 JS 中 parseInt 和 或 判断连写 ,还是需要谨慎一些的,最好还是用 三元运算符 更合适
transformedData[fieldsToCheck[i]] = parseInt(originalValue) !== NaN ? parseInt(originalValue) : -1
原文地址:https://blog.csdn.net/qq_44196212/article/details/134670740
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_6175.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。