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 个人笔记(没有整理,很乱)
Jul 07 Javascript
jquery特效 幻灯片效果示例代码
Jul 16 Javascript
写出高效jquery代码的19条指南
Mar 19 Javascript
jQuery使用before()和after()在元素前后添加内容的方法
Mar 26 Javascript
JavaScript 常见安全漏洞和自动化检测技术
Aug 21 Javascript
Javascript表单特效之十大常用原理性样例代码大总结
Jul 12 Javascript
利用canvas实现的加载动画效果实例代码
Jul 05 Javascript
js禁止Backspace键使浏览器后退的实现方法
Sep 01 Javascript
vue 粒子特效的示例代码
Sep 19 Javascript
Node.js Buffer用法解读
May 18 Javascript
微信小程序利用Canvas绘制图片和竖排文字详解
Jun 25 Javascript
vue设置默认首页的操作
Aug 12 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 获取客户端真实IP地址多种方法小结
2010/05/15 PHP
一个简洁的PHP可逆加密函数(分享)
2013/06/06 PHP
php多功能图片处理类分享(php图片缩放类)
2014/03/14 PHP
Yii2.0表关联查询实例分析
2016/07/18 PHP
Nigma vs Alliance BO5 第一场2.14
2021/03/10 DOTA
从父页面读取和操作iframe中内容方法
2009/07/25 Javascript
jQuery新闻滚动插件 jquery.roller.js
2011/06/27 Javascript
javascript如何判断输入的url是否正确
2014/04/11 Javascript
jQuery ajax应用总结
2016/06/02 Javascript
JS控制静态页面之间传递参数获取参数并应用的简单实例
2016/08/10 Javascript
JavaScript实现类似拉勾网的鼠标移入移出效果
2016/10/27 Javascript
javascript中的深复制详解及实例分析
2016/12/29 Javascript
Nodejs实现爬虫抓取数据实例解析
2018/07/05 NodeJs
vue实现文件上传功能
2018/08/13 Javascript
Angular ElementRef简介及其使用
2018/10/01 Javascript
vue 使用vue-i18n做全局中英文切换的方法
2018/10/29 Javascript
ES6 Generator函数的应用实例分析
2019/06/26 Javascript
如何用vue-cli3脚手架搭建一个基于ts的基础脚手架的方法
2019/12/12 Javascript
python中的实例方法、静态方法、类方法、类变量和实例变量浅析
2014/04/26 Python
Python中使用PyQt把网页转换成PDF操作代码实例
2015/04/23 Python
Python爬虫框架Scrapy实战之批量抓取招聘信息
2015/08/07 Python
Android应用开发中Action bar编写的入门教程
2016/02/26 Python
在python中做正态性检验示例
2019/12/09 Python
Python flask框架实现查询数据库并显示数据
2020/06/04 Python
详解Python设计模式之策略模式
2020/06/15 Python
使用keras时input_shape的维度表示问题说明
2020/06/29 Python
阿迪达斯意大利在线商店:adidas意大利
2016/09/19 全球购物
享誉全球的多元化时尚精品购物平台:Farfetch发发奇(支持中文)
2017/08/08 全球购物
瑞典手机壳品牌:Richmond & Finch
2018/04/28 全球购物
报到证丢失证明
2014/01/11 职场文书
函授本科个人自我鉴定
2014/03/25 职场文书
禁止高声喧哗的标语
2014/06/11 职场文书
班子群众路线教育实践个人对照检查材料思想汇报
2014/09/30 职场文书
征求意见函
2015/06/05 职场文书
MySQL的索引你了解吗
2022/03/13 MySQL
Redis实现一个账号只能登录一个设备
2022/04/19 Redis