javascript - 字符串长度显示这个字符串的长度是7,但实际上字符串长度是6
问题描述
我的常量声明是这样的:
const table = req.params.table;
当我发送一个带有“circle”作为表参数的请求时,table.length
返回为 7。
我试着这样做:
table.toString().trim().length
但它仍然显示这个词的长度是 7。
我怎么解决这个问题?
解决方案
根据我在收到的数据中观察到的情况,有一个额外的U+200B zero width space
字符。这就是长度没有达到预期的主要原因。
我已经{ table : 'circle' }
从评论中复制并尝试在浏览器控制台中执行相同的操作,这就是它在控制台中的外观。
在下面的代码片段中也发生了同样的事情,即\u200b
添加了零宽度空格 unicode 字符
let x = { table : 'circle' }
console.log(x.table.length);
为了避免此问题,您可以执行以下操作
let x = { table: 'circle' }
const { table } = x;
const table2 = table.replace('\u200b', '');
console.log(table.length);
console.log(table2.length);
更多信息请参考
推荐阅读
- node.js - nodejs discord bot > 在更改时读取 txt 文件并发布最后一行
- autodesk-forge - Autodesk Forge:我创建了一个应用程序来翻译 CAD 文件,但看不到装配的属性
- ios - Swift Package Manager - 分发已经存在的 Cocoapod
- python - 解析字符串列表以获得速度
- java - 更新 mongo 存储库条目
- java - Gradle:为什么我必须添加项目依赖所需的存储库?
- html - 额外的
s 在 Shopify 前端生成
- python - 如何在 Python 中列出导入的类?
- google-cloud-firestore - 在firestore中使用snapshot.count的最有效方法?
- r - 如何获得 chisqrt 矩阵的期望值?