看到项目里通过js数组split方法格式化查询字符串的,突发奇想为什么不能用正则呢,性能如何?于是便有了如下代码:
var url='www.baidu.com?a=123&b=456&c=789&e=dfsdfsdfsdfsdfsdfsdf&f=46545454545454785&g=e23232dsfvdfvdf';
/**
* 格式化查询字符串(正则实现)
* @param url url地址
* @return {Object} 格式化的json对象
*/
function formatUrl(url){
var reg=/(?:[?&]+)([^&]+)=([^&]+)/g;
var data={};
function fn(str,pro,value){
data[decodeURIComponent(pro)]=decodeURIComponent(value);
}
url.replace(reg,fn);
return data;
}
/**
* 格式化查询字符串(数组实现)
* @param url url地址
* @return {Object} 格式化的json对象
*/
function formatUrl2(url){
url=url.replace(/.*\?/,'');
var args={},
items=url.length?url.split("&"):[]
,item=null
,i=0
,len=items.length;
for(i=0;i
args[decodeURIComponent(item[0])]=decodeURIComponent(item[1]);
}
return args;
}
var startTime=new Date();
for(var i=0;iformatUrl2(url);
}
console.log('formatUrl2',(new Date()-startTime)); //formatUrl2 12138
startTime=new Date();
for(var i=0;iformatUrl(url);
}
console.log('formatUrl',(new Date()-startTime)); //formatUrl 12537
测试浏览器是chrme 25;正则实现的函数居然比数组实现的函数要慢(泪奔....)。不过还好,在重复执行一百万次的情况下只慢0.4秒

如何优化Java开发中的时间日期格式化解析性能摘要:在Java开发中,时间日期格式化与解析是常见的操作,但是由于时间日期格式复杂多样且处理的数据量庞大,往往会成为性能瓶颈。本文将介绍几种优化Java开发中时间日期格式化解析性能的方法,包括使用缓存、减少对象创建、选择适当的API等。一、引言时间日期格式化与解析在Java开发中非常常见。然而,在实际应用中,由于

Rufus是一款出色的工具,可以轻松创建可启动的USB驱动器。这个小巧而时尚的工具的效率令人惊叹,通常可以提供无错误的操作。但是,有时创建一个新的可启动USB记忆棒会弹出一些错误消息,从而在刻录过程中绊倒。如果您在使用Rufus时遇到任何困难,您可以按照以下步骤为您的问题找到快速解决方案。修复1–运行驱动器的错误检查器在使用Rufus重试之前,您可以运行驱动器的错误检查器工具来扫描驱动器是否存在任何错误。1.同时按下Windows键+E键打开文件资源管理器。然后,点击“这台电脑

PHP正则表达式是一种针对文本处理和转换的有力工具。它可以通过解析文本内容,并按照特定的模式进行替换或截取,达到有效管理文本信息的目的。其中,正则表达式的一个常见应用是替换以特定字符开头的字符串,对此,我们进行如下的讲解

Golang正则表达式使用管道符|来匹配多个单词或字符串,将各个选项作为逻辑OR表达式分隔开来。例如:匹配"fox"或"dog":fox|dog匹配"quick"、"brown"或"lazy":(quick|brown|lazy)匹配"Go"、"Python"或"Java":Go|Python|Java匹配单词或4位邮政编码:([a-zA

php用正则去除中文的方法:1、创建一个php示例文件;2、定义一个含有中文和英文的字符串;3、通过“preg_replace('/([\x80-\xff]*)/i','',$a);”正则方法去除查询结果中的中文字符即可。

在本文中,我们将学习如何使用PHP正则表达式删除HTML标签,并从HTML字符串中提取纯文本内容。 为了演示如何去掉HTML标记,让我们首先定义一个包含HTML标签的字符串。

Vue是一款流行的JavaScript框架,广泛应用于Web开发中。在日常开发中,我们需要对代码进行格式化以保持代码风格的统一。在Vue中,我们可以使用Prettier插件来方便地进行代码格式化。Prettier是一款代码格式化工具,它可以帮助我们自动对代码进行格式化。相比手动修改代码格式,使用Prettier可以大大提高我们的工作效率,同时也能保证代码风格

格式化数据分区就是对指定磁盘中的数据分区进行初始化操作,这种操作通常会导致现有分区中所有的文件被清除。磁盘格式化牵涉两个不同的程序:低级与高级格式化。前者处理盘片表面格式化赋与磁片扇区数的特质;低级格式化完成后,硬件盘片控制器(disk controller)即可看到并使用低级格式化的成果;后者处理“伴随着操作系统所写的特定信息”。


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular