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 相关文章推荐
javascript面向对象编程(一) 实例代码
Jun 25 Javascript
在jQuery中 常用的选择器介绍
Apr 16 Javascript
JavaScript中的对象序列化介绍
Dec 30 Javascript
js中split和replace的用法实例
Feb 28 Javascript
javascript中的正则表达式使用指南
Mar 01 Javascript
深入理解jquery中的each用法
Dec 14 Javascript
Jquery实时监听input value的实例
Jan 26 Javascript
vue+web端仿微信网页版聊天室功能
Apr 30 Javascript
在vue中利用v-html按分号将文本换行的例子
Nov 14 Javascript
微信小程序实现音乐播放器
Nov 20 Javascript
ng-alain的sf如何自定义部件的流程
Jun 12 Javascript
JavaScript控制台的更多功能
Apr 28 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 strstr查找字符串中是否包含某些字符的查找函数
2010/06/03 PHP
php创建基本身份认证站点的方法详解
2013/06/08 PHP
利用PHP如何实现Socket服务器
2015/09/23 PHP
一文掌握PHP Xdebug 本地与远程调试(小结)
2019/04/23 PHP
checkbox使用示例
2013/08/23 Javascript
javascript实例--教你实现扑克牌洗牌功能
2014/05/15 Javascript
Javascript遍历table中的元素示例代码
2014/07/08 Javascript
Javascript中this的用法详解
2014/09/22 Javascript
jQuery仿淘宝网产品品牌隐藏与显示效果
2015/09/01 Javascript
跟我学习javascript的定时器
2015/11/19 Javascript
JavaScript基于原型链的继承
2016/06/22 Javascript
React native ListView 增加顶部下拉刷新和底下点击刷新示例
2018/04/27 Javascript
记录vue项目中遇到的一点小问题
2019/05/14 Javascript
Node.JS在命令行中检查Chrome浏览器是否安装并打开指定网址
2019/05/21 Javascript
Vue.js自定义指令学习使用详解
2019/10/19 Javascript
JS中FormData类实现文件上传
2020/03/27 Javascript
react antd表格中渲染一张或多张图片的实例
2020/10/28 Javascript
python使用matplotlib绘制折线图教程
2017/02/08 Python
python解析html提取数据,并生成word文档实例解析
2018/01/22 Python
Python嵌套列表转一维的方法(压平嵌套列表)
2018/07/03 Python
mvc框架打造笔记之wsgi协议的优缺点以及接口实现
2018/08/01 Python
python字符串分割及字符串的一些常规方法
2019/07/24 Python
Python3实现将一维数组按标准长度分隔为二维数组
2019/11/29 Python
浅谈python 调用open()打开文件时路径出错的原因
2020/06/05 Python
jupyter notebook远程访问不了的问题解决方法
2021/01/11 Python
css3遮罩层镂空效果的多种实现方法
2020/05/11 HTML / CSS
加拿大健康、婴儿和美容产品在线购物:Well.ca
2016/11/30 全球购物
英国和世界各地鲜花速递专家:Arena Flowers
2018/02/10 全球购物
请用Java实现列出某个目录下的所有文件
2013/09/23 面试题
村干部承诺书
2014/03/28 职场文书
2015年国庆节新闻稿
2015/07/18 职场文书
婚宴来宾致辞
2015/07/28 职场文书
浅谈Python中的正则表达式
2021/06/28 Python
使用GO语言实现Mysql数据库CURD的简单示例
2021/08/07 Golang
Go 通过结构struct实现接口interface的问题
2021/10/05 Golang
苹果M1芯片安装nginx 并且部署vue项目步骤详解
2021/11/20 Servers