javascript - 如何在js替换功能中进行数字操作?
问题描述
const detailFontSize = fontSize ? fontSize.replace(/(\d+)/, $1-2) : '';
比如fontSize为“12pt”,希望修改为“10pt”。如何用$1做replace函数中的数字运算?</p>
上面的代码不起作用,因为 $1 没有定义。如果我添加引号,它将变为“12-2pt”
解决方案
您可以使用函数作为 .replace() 的第二个参数来操作匹配值:
const fontSize = '12pt';
const detailFontSize = fontSize ? fontSize.replace(/(\d+)/, m => Number(m) - 2) : '';
console.log(detailFontSize)
推荐阅读
- django - 我们如何在 saleor django 框架中实现 google 登录注册?
- r - 根据条件 (R) 收集变量
- javascript - 如何获取父div的边距顶部?
- css - 如何使下拉菜单正确显示在具有水平滚动条的容器之外
- c - 使用 C 中的函数指针将系统调用传递给函数
- macos - gdb 8.2 在 macOS Mojave 10.14 上无法识别可执行文件
- twilio - 具有多个值的 Twilio REST API 过滤器参数
- selenium - org.openqa.grid.common.exception.GridException:无法从请求中提取功能
- css - 为什么在设置 SVG 样式时,'x' 作为 CSS 属性工作?
- jenkins - 大规模分布式并行执行任务