首页 文章 精选 留言 我的

精选列表

搜索[JavaScript库],共10000篇文章
优秀的个人博客,低调大师

javascript数组去重方法汇总

前言 数组去重已经是一个老生常谈的问题了,依然经久不息,经过岁月的变迁es标准的升级迭代,似乎有越来越多的方法和方式供我们使用,那么那种方式才是最优的?那种才是最简洁的?这个我们一起来探讨。 省略:传统的递归方法,这里我就不说了,是最传统也是最笨的方法。 方法一:es5使用filter 使用Array.prototype.filter()方法,对元素进行过滤; 相关资料:Array.prototype.filter() var array = [2, "2", 2, "2"]; // es5 使用filter function unique(array) { var obj = {}; return array.filter(function (item, index) { var fullItem = (typeof item + item); return obj.hasOwnProperty(fullItem) ? false : (obj[fullItem] = true); }); } console.log(unique(array)); //[2,"2"] 方法二:使用es6 Set Set里的元素只能出现一次,即元素是唯一的。 下面的代码中也使用了(...)扩展语句,简单来说就是把数组转换成n个对象的方法。 相关链接:Set var array = [2, "2", 2, "2"]; //es6 使用Set特性(Set元素只会出现一次,即元素是唯一的) let unique = (array) => [...new Set(array)]; //(...)扩展语句,简单来说就是把数组参数转换为多个对象参数 console.log(unique(array)); //[2,"2"] 方法三:使用es6 Map Map也是es6新出的数据类型,方法set、has、get、clear、delete、keys都挺好用的。 相关链接:Map var array = [2, "2", 2, "2"]; //es6 Map 本质使用的还是Array.prototype.filter() function unique(array) { let m = new Map(); return array.filter((item) => !m.has(item) && m.set(item, 1)); } console.log(unique(array)); 总结 个人觉得最优的方案是第二种!欢迎补充,欢迎指正~ 如果本文对你有所帮助,请打赏——1元就足够感动我:) 联系邮箱:intdb@qq.com 我的GitHub: https://github.com/vipstone 关注公众号: 作者: 王磊 出处: http://vipstone.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,请标明出处。

优秀的个人博客,低调大师

【JavaScript框架封装】JavaScript中的文本字符串的转义和反转义的实现

版权声明:本文为博主原创文章,未经博主允许不得转载。更多学习资料请访问我爱科技论坛:www.52tech.tech https://blog.csdn.net/m0_37981569/article/details/81105949 如果是想把本地的一个字符串串存到服务器,再次取出来的还是文本的话,就需要这个文本字符串的转义; /** * 对一个字符串的转义 * @param str * @return {*} */ function escapeHTML(str) { return str.replace(/$/g, '&amp;') // 结尾的字符用&amp替换 .replace(/\</g, '&lt;') // < 用&lt替换 .replace(/\>/g, '&gt;') // > 用&gt替换 .replace(/\'/g, '&#39;') // ' 用&#39替换 .replace(/\"/g, '&quot;'); // " 用&quot替换 } /** * 对一个字符串的反转义 * @param str * @return {*} */ function unscapeHTML(str) { // 查找所有的< > & " ' 字符,并替换掉 return str.replace(/&lt;/g, '<') .replace(/&gt;/g, '>') .replace(/&#39;/g, '\'') .replace(/&quot;/g, '\"') .replace(/&amp;/g, '') // String.fromCharCode() 静态方法根据指定的 Unicode 编码中的序号值来返回一个字符串。String.fromCharCode(65,66,67) “ABC” .replace(/&#(\d+)/g, function ($0, $1) { //parseInt() 函数将给定的字符串以指定基数(radix/base)解析成为整数。就是 你想把string当成radix进制数解析成10进制 return String.fromCharCode(parseInt($1, 10)); }); } 测试代码如下: // 转义和反转义的功能测试 var tagText = "<p><b>123&456</b></p>"; // 如果直接打印输出的话,就是一个字符串 console.log(tagText); // <p><b>123&456</b></p> res = escapeHTML(tagText); console.log(res); // &ltp&gt&ltb&gt123&456&lt/b&gt&lt/p&gt&amp // 如果把一个字符串转义为实体之后,就不会正常在页面中显示出来内容,只会显示的是一个字符串 document.body.innerHTML = res; // 会显示的是一个字符串,&ltp&gt&ltb&gt123&456&lt/b&gt&lt/p&gt&amp, 但是浏览器也会自动将实体转换解析 // 如果是一个字符串的话,就会直接在网页中显示出来(按照HTML进行解析) document.body.innerHTML = tagText; // 相当是设置了一段HTML代码 // 对字符反转义之后的结果 res = unscapeHTML(res); // <p><b>123&456</b></p> console.log(res); // 又恢复到最初始的状态

资源下载

更多资源
Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册