从查询字符串中检索数字的最有效方法
Most efficient way to retrieve numbers from a querystring?
我需要解析包含文本和数字的查询字符串。例如以下查询字符串:
?userID=12&team=Sales&quarter=Q1&count=2310
应该翻译成以下JavaScript对象:
{
userID:12, // not "12"
team:"Sales",
quarter:"Q1",
count:2310 // not "2310"
}
目前我分两步来做:
- 分析查询字符串
- 浏览所有参数并确定哪些参数是数字(使用regex或isNumber函数
!isNaN(parseFloat(n)) && isFinite(n)
这似乎相当低效,尤其是因为我的大多数参数都不是数字。有更好的方法吗?
您知道在哪里使用指定值吗?
因为如果你将任何数字格式的字符串(如"3239")乘以1,就会将该字符串转换为数字。。
var example = 5 + (o.count*1) //o.count will be a number...
两个建议:
- 如果你知道哪些参数将包含数字,那么只对这些参数进行转换
-
据我所知,将字符串转换为数字的最快方法是在它们上使用一元运算符,如下所示:
+(strVar)
同样乘以1应该是快速的AFAIK
解析查询字符串后,可以将整数值的字符串表示转换为实际整数,如下所示:
var obj; // your object that the string is parsed into, with all values as strings.
for (var prop in obj) {
if (String(parseInt(obj[prop])) === obj[prop]) {
obj[prop] = parseInt(obj[prop]);
}
}
相关文章:
- 在jQuery中创建向下滑动子菜单的最有效方法
- 使用Underscore.js修改json数组中所选元素的更有效方法
- 选择具有值数组的所有元素的最有效方法
- 将JSON存储和恢复到此Ionic应用程序的最有效方法
- 将javascript数组中的项移动到特定位置的有效方法
- 将JS对象数组转换为嵌套形式的最有效方法
- 隐藏具有特定类$.each、for等的元素的有效方法
- 什么's是调用具有可变参数的函数的有效方法
- 选择具有特定数据的所有 html 标记的最有效方法是什么 - [适当性],无论值如何
- 使用 jQuery 调用 PHP 端点的最有效方法
- 这是解析 Int 的有效方法吗?
- 在JavaScript中搜索数组映射的最有效方法
- 获取字符串中最后一个换行符的最有效方法是什么
- 什么's是在两个(或多个)阵列中找到匹配的细胞序列的最有效方法
- 什么's是在IE8+中添加元素的最有效方法
- 从任何jquery选择器字符串创建元素的最有效方法
- 在日期范围内查找丢失日期的最有效方法是什么
- 对区间[1,10^12]中的整数进行编码/解码的快速有效方法是什么
- 在条件(if)结构的条件语句中是否有定义变量的有效方法
- 在ASP.NET中使用JQuery UI自动完成的有效方法