我需要解析包含文本和数字的查询字符串。例如以下查询字符串:
?userID=12&team=Sales&quarter=Q1&count=2310
应翻译为以下 JavaScript 对象:
{
userID:12, // not "12"
team:"Sales",
quarter:"Q1",
count:2310 // not "2310"
}
目前我分两步进行:
- 解析查询字符串
- 检查所有参数并确定哪些是数字(使用正则表达式或 isNumber 函数
!isNaN(parseFloat(n)) && isFinite(n)
这看起来效率相当低,尤其是因为我的大多数参数都不是数字。有更好的办法吗?
最佳答案
你知道你要在哪里使用指定值吗?
因为如果您将任何数字格式的字符串(例如“3239”)乘以 1,则会将该字符串转换为数字。
var example = 5 + (o.count*1) //o.count will be a number...
关于javascript - 从查询字符串中检索数字的最有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15032851/