当前位置: 首页 > news >正文

praseInt 和 逻辑或连用

这是做项目时遇到json文件转换 的一个小坑

将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
http://www.lryc.cn/news/247741.html

相关文章:

  • 对属于国家秘密的地理信息的获取、持有、提供、利用情况进行登记并长期保存,实行可追溯管理
  • XAER_RMERR: Fatal error occurred in the transaction branch异常解决
  • Redis面试常见问题
  • 浏览器触发下载Excel文件-Java实现
  • 每日汇评:黄金在上涨趋势恢复之前面临修正性回调的风险
  • 【开源】基于Vue.js的大学计算机课程管理平台的设计和实现
  • c++环形队列
  • 智能客服核心技术——预测会话与答案生成
  • C语言——计算Fibonacci数列
  • 【ASP.NET CORE】.NET 6.0 NET CORE MVC连接SQLSERVER数据库
  • filebeat日志收集工具
  • 一文例说嵌入式 C 程序的内聚和耦合
  • python-爬虫(可直接使用)
  • Moonbeam生态项目分析 — — 去中心化交易所Beamswap
  • 自研Xilinx高性能PCIe多通道DMA控制器
  • 人工智能原理复习--知识表示(二)
  • 【SpringBoot篇】登录校验 — JWT令牌
  • leetcode每日一题34
  • 王者荣耀游戏制作
  • springboot post添加URL添加参数
  • 『 MySQL数据库 』插入查询结果
  • 【笔记】小白学习电路维修
  • linux简述进程
  • 由于设置了全局 QWidget 背景导致QT QCalendarWidget 表态背景异常
  • 数据库的重要你了解多少?如何保障数据库的安全?
  • 距离“全自动”漏洞挖掘又近了一步!腾讯安全大数据实验室论文入选ACM CCS 2023
  • docker搭建rabbit集群
  • 西南科技大学C++程序设计实验一(C++基础知识)
  • Rust内存布局
  • android 12 添加菜单