JS实现的字符串数组去重功能小结


Posted in Javascript onJune 17, 2019

本文实例讲述了JS实现的字符串数组去重功能。分享给大家供大家参考,具体如下:

这里只考虑最简单字符串的数组去重,暂不考虑,对象,函数,NaN等情况,这种用正则实现起来就吃力不讨好了。

非正则实现:ES6实现

<script>
let str_arr=["b","c",1,"a", 3,"v", "2","e", "6","g", "9", "arr",9, "hello",",6", "9", "1", 2, 6, "b", "c"]
function unique(arr){
 return [...new Set(arr)]
}
console.log(unique(str_arr)) 
</script>

运行结果:

JS实现的字符串数组去重功能小结

ES5实现

<script>
var str_arr = ["b","c",1,"a", 3,"v", "2","e", "6","g", "9", "arr",9, "hello",",6", "9", "1", 2, 6, "b", "c"]
  function unique(arr) {
    return arr.filter(function(ele, index, array) {
      return array.indexOf(ele) === index
    })
  }
  console.log(unique(str_arr))
</script>

运行结果同上

ES3实现

<script>
var str_arr = ["b","c",1,"a", 3,"v", "2","e", "6","g", "9", "arr",9, "hello",",6", "9", "1", 2, 6, "b", "c"]
function unique(arr) {
  var obj = {},
    array = []
  for (var i = 0, len = arr.length; i < len; i++) {
    var key = arr[i] + typeof arr[i]
    if (!obj[key]) {
      obj[key] = true
      array.push(arr[i])
    }
  }
  return array
}
console.log(unique(str_arr))
</script>

运行结果同上

用正则实现

<script>
 var str_arr = ["b","c",1,"a", 3,"v", "2","e", "6","g", "9", "arr",9, "hello",",6", "9", "1", 2, 6, "b", "c"]
 function unique(arr) {
   return arr.sort().join(",,").
   replace(/(,|^)([^,]+)(,,\2)+(,|$)/g, "$1$2$4").
   replace(/,,+/g, ",").
   replace(/,$/, "").
   split(",")
 }
 console.log(unique(str_arr))
</script>

运行结果:

JS实现的字符串数组去重功能小结

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

Javascript 相关文章推荐
利用JQuery动画制作滑动菜单项效果实现步骤及代码
Feb 07 Javascript
form表单action提交的js部分与html部分
Jan 07 Javascript
Javascript中3种实现继承的方法和代码实例
Aug 12 Javascript
jquery动态加载js/css文件方法(自写小函数)
Oct 11 Javascript
JavaScript实现16进制颜色值转RGB的方法
Feb 09 Javascript
JavaScript中exec函数用法实例分析
Jun 08 Javascript
详细解读JavaScript编程中的Promise使用
Jul 27 Javascript
jquery-tips悬浮提示插件分享
Jul 31 Javascript
Sea.JS知识总结
May 05 Javascript
JS模拟实现方法重载示例
Aug 03 Javascript
js es6系列教程 - 新的类语法实战选项卡(详解)
Sep 02 Javascript
微信小程序实现指定显示行数多余文字去掉用省略号代替
Jul 25 Javascript
JavaScript静态作用域和动态作用域实例详解
Jun 17 #Javascript
深入解析koa之中间件流程控制
Jun 17 #Javascript
深入解读Node.js中的koa源码
Jun 17 #Javascript
学习RxJS之JavaScript框架Cycle.js
Jun 17 #Javascript
javascript系统时间设置操作示例
Jun 17 #Javascript
深入学习TypeScript 、React、 Redux和Ant-Design的最佳实践
Jun 17 #Javascript
Vue程序调试的方法
Jun 17 #Javascript
You might like
php中长文章分页显示实现代码
2012/09/29 PHP
关于初学PHP时的知识积累总结
2013/06/07 PHP
PHP中的函数-- foreach()的用法详解
2013/06/24 PHP
纯PHP代码实现支付宝批量付款
2015/12/24 PHP
thinkPHP简单实现多个子查询语句的方法
2016/12/05 PHP
浅谈checkbox的一些操作(实战经验)
2013/11/20 Javascript
基于JQuery实现的图片自动进行缩放和裁剪处理
2014/01/31 Javascript
用jquery的方法制作一个简单的导航栏
2014/06/23 Javascript
基于js对象,操作属性、方法详解
2016/08/11 Javascript
javascript iframe跨域详解
2016/10/26 Javascript
javascript工厂模式和构造函数模式创建对象方法解析
2016/12/30 Javascript
Node.js 使用命令行工具检查更新
2017/06/08 Javascript
jquery插件开发之选项卡制作详解
2017/08/30 jQuery
React通过父组件传递类名给子组件的实现方法
2017/11/13 Javascript
关于微信公众号开发无法支付的问题解决
2018/12/28 Javascript
Vue侦测相关api的实现方法
2019/05/22 Javascript
Object.keys() 和 Object.getOwnPropertyNames() 的区别详解
2020/05/21 Javascript
Vue2.x和Vue3.x的双向绑定原理详解
2020/11/05 Javascript
python监控文件并且发送告警邮件
2018/06/21 Python
python调用matplotlib模块绘制柱状图
2019/10/18 Python
在OpenCV里使用Camshift算法的实现
2019/11/22 Python
python保留小数位的三种实现方法
2020/01/07 Python
python 实现关联规则算法Apriori的示例
2020/09/30 Python
python time()的实例用法
2020/11/03 Python
HTML5 Canvas绘制圆点虚线实例
2015/01/01 HTML / CSS
挪威户外活动服装和装备购物网站:Bergfreunde挪威
2016/10/20 全球购物
描述RIP和OSPF区别以及特点
2015/01/17 面试题
货代行业个人求职简历的自我评价
2013/10/22 职场文书
房地产出纳岗位职责
2013/12/01 职场文书
考试作弊检讨书大全
2014/02/18 职场文书
升旗仪式演讲稿
2014/05/08 职场文书
最感人的道歉情书
2015/05/12 职场文书
运动会宣传稿50字
2015/07/23 职场文书
JS + HTML 罗盘式时钟的实现
2021/05/21 Javascript
关于ObjectUtils.isEmpty() 和 null 的区别
2022/02/28 Java/Android
python中pycryto实现数据加密
2022/04/29 Python