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 相关文章推荐
js类的静态属性和实例属性的理解
Oct 01 Javascript
js获取本机的外网/广域网ip地址完整源码
Aug 12 Javascript
设为首页和收藏的Javascript代码(亲测兼容IE,Firefox,chrome等浏览器)
Nov 18 Javascript
jQuery toggleClass应用实例(附效果图)
Apr 06 Javascript
jquery实现点击文字可编辑并修改保存至数据库
Apr 15 Javascript
浅谈javascript中基本包装类型
Jun 03 Javascript
JavaScript定义函数_动力节点Java学院整理
Jun 27 Javascript
微信小程序 转发功能的实现
Aug 04 Javascript
vue中v-for加载本地静态图片方法
Mar 03 Javascript
vue2.0学习之axios的封装与vuex介绍
May 28 Javascript
Vue中全局变量的定义和使用
Jun 05 Javascript
js实现div色块拖动录制
Jan 16 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作的文本留言本的例子(一)
2006/10/09 PHP
PHP新手上路(十)
2006/10/09 PHP
PHP之APC缓存详细介绍 apc模块安装
2014/01/13 PHP
PHP批量去除BOM头内容信息代码
2016/03/11 PHP
PHP对象实例化单例方法
2017/01/19 PHP
PHP环形链表实现方法示例
2017/09/15 PHP
thinkPHP事务操作简单案例分析
2019/10/17 PHP
基于jquery的修改当前TAB显示标题的代码
2010/12/11 Javascript
addEventListener和attachEvent二者绑定的执行函数中的this不相同
2012/12/09 Javascript
JavaScript 函数replace深入了解
2013/03/14 Javascript
jquery动态添加删除div 具体实现
2013/07/20 Javascript
jquery对单选框,多选框,文本框等常见操作小结
2014/01/08 Javascript
javascript回车完美实现tab切换功能
2014/03/13 Javascript
纯JS实现本地图片预览的方法
2015/07/31 Javascript
原生js实现tab选项卡切换
2020/03/23 Javascript
jQuery遍历节点树方法分析
2016/09/08 Javascript
JavaScript实现动态增删表格的方法
2017/03/09 Javascript
js实现按座位号抽奖
2017/04/05 Javascript
bootstrap table合并行数据并居中对齐效果
2018/10/17 Javascript
vue中 this.$set的用法详解
2019/09/06 Javascript
JavaScript实现复选框全选和取消全选
2020/11/20 Javascript
pandas把dataframe转成Series,改变列中值的类型方法
2018/04/10 Python
python 使用sys.stdin和fileinput读入标准输入的方法
2018/10/17 Python
在PyCharm下打包*.py程序成.exe的方法
2018/11/29 Python
python使用for循环计算0-100的整数的和方法
2019/02/01 Python
Python中内建模块collections如何使用
2020/05/27 Python
Python系统公网私网流量监控实现流程
2020/11/23 Python
CSS3 实现的缩略图悬停效果
2020/12/09 HTML / CSS
一张图片能隐含千言万语之隐藏你的程序代码
2012/12/13 HTML / CSS
HTML5+CSS3实现机器猫
2016/10/17 HTML / CSS
GUESS Factory加拿大:牛仔裤、服装及配饰
2019/09/20 全球购物
2014年干部培训工作总结
2014/12/17 职场文书
自我评价优缺点范文
2015/03/11 职场文书
员工辞退通知书
2015/04/17 职场文书
MySQL中VARCHAR与CHAR格式数据的区别
2021/05/26 MySQL
Java elasticsearch安装以及部署教程
2021/06/28 Java/Android