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 相关文章推荐
Chosen 基于jquery的选择框插件使用方法
May 30 Javascript
基于jQuery的简单九宫格实现代码
Aug 09 Javascript
在线所见即所得HTML编辑器的实现原理浅析
Apr 25 Javascript
JavaScript保留关键字汇总
Dec 01 Javascript
Bootstrap 轮播(Carousel)插件
Dec 26 Javascript
使用ionic在首页新闻中应用到的跑马灯效果的实现方法
Feb 13 Javascript
Vue.js如何优雅的进行form validation
Apr 07 Javascript
分析JS中this引发的bug
Dec 12 Javascript
vue中使用mxgraph的方法实例代码详解
May 17 Javascript
elementUI select组件使用及注意事项详解
May 29 Javascript
vue+elementUI动态生成面包屑导航教程
Nov 04 Javascript
JS实现吸顶特效
Jan 08 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
《心理测量者3》剧场版动画预告
2020/03/02 日漫
Terran兵种介绍
2020/03/14 星际争霸
php中数组首字符过滤功能代码
2012/07/31 PHP
『PHP』PHP截断函数mb_substr()使用介绍
2013/04/22 PHP
浅谈PHP调用Webservice思路及源码分享
2014/06/04 PHP
Linux下PHP连接Oracle数据库
2014/08/20 PHP
在win系统安装配置 Memcached for PHP 5.3 图文教程
2015/03/03 PHP
php Session无效分析资料整理
2016/11/29 PHP
thinkPHP5.0框架开发规范简介
2017/03/25 PHP
php扩展开发入门demo示例
2019/09/23 PHP
关于laravel 日志写入失败问题汇总
2019/10/17 PHP
Code:findPosX 和 findPosY
2006/12/20 Javascript
用javascript将数据库中的TEXT类型数据动态赋值到TEXTAREA中
2007/04/20 Javascript
jQuery学习笔记之Helloworld
2010/12/22 Javascript
js检测输入内容全为空格的方法
2014/05/03 Javascript
JS按回车键实现登录的方法
2014/08/25 Javascript
JavaScript中的bold()方法使用详解
2015/06/08 Javascript
JavaScript对象属性检查、增加、删除、访问操作实例
2015/07/08 Javascript
探索angularjs+requirejs全面实现按需加载的套路
2016/02/26 Javascript
实例详解ECMAScript5中新增的Array方法
2016/04/05 Javascript
微信小程序 开发之全局配置
2017/05/05 Javascript
Vue2.0结合webuploader实现文件分片上传功能
2018/03/09 Javascript
vue 验证两次输入的密码是否一致的方法示例
2020/09/29 Javascript
手写Vue2.0 数据劫持的示例
2021/03/04 Vue.js
[07:43]《辉夜杯》公开赛晋级外卡赛战队—TRG训练生活探秘
2015/12/11 DOTA
Python 第一步 hello world
2009/09/25 Python
Python获取单个程序CPU使用情况趋势图
2015/03/10 Python
英国领先的高街书籍专家:Waterstones
2018/02/01 全球购物
意大利单身交友网站:Meetic
2020/07/12 全球购物
如何将整数int转换成字串String
2014/03/21 面试题
施惠特软件测试面试题以及笔试题
2015/05/13 面试题
个人思想理论学习的自我鉴定
2013/11/30 职场文书
幼师求职自荐信
2014/05/31 职场文书
开展党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
2014年单位工作总结范文
2014/11/27 职场文书
MySql数据库 查询时间序列间隔
2022/05/11 MySQL