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评估用户输入密码的强度实现代码
Nov 30 Javascript
一个JavaScript处理textarea中的字符成每一行实例
Sep 22 Javascript
JavaScript实现函数返回多个值的方法
Jun 09 Javascript
jQuery实现按钮只点击一次后就取消点击事件绑定的方法
Jun 26 Javascript
详解Backbone.js框架中的模型Model与其集合collection
May 05 Javascript
AngularJs  unit-testing(单元测试)详解
Sep 02 Javascript
微信小程序教程系列之新建页面(4)
Apr 17 Javascript
Angular2生命周期钩子函数的详细介绍
Jul 10 Javascript
jquery实现联想词搜索框和搜索结果分页的示例
Oct 10 jQuery
vue cli3 调用百度翻译API翻译页面的实现示例
Sep 13 Javascript
vue实现移动端图片上传功能
Dec 23 Javascript
angular中的post请求处理示例详解
Jun 30 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
html中select语句读取mysql表中内容
2006/10/09 PHP
php制作简单模版引擎
2016/04/07 PHP
php简单实现短网址(短链)还原的方法(测试可用)
2016/05/09 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
2016/07/20 PHP
PHP AjaxForm提交图片上传并显示图片源码
2016/11/29 PHP
PHP 中使用explode()函数切割字符串为数组的示例
2017/05/06 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
2019/12/20 PHP
JavaScript 节点操作 以及DOMDocument属性和方法
2007/12/06 Javascript
js字符串的各种格式的转换 ToString,Format
2011/08/08 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战二)
2013/08/21 Javascript
在JS中如何调用JSP中的变量
2014/01/22 Javascript
jquery中$.post()方法的简单实例
2014/02/04 Javascript
js无刷新操作table的行和列
2014/03/27 Javascript
JavaScript数组前面插入元素的方法
2015/04/06 Javascript
jQuery实现下拉加载功能实例代码
2016/04/01 Javascript
JavaScript学习小结之使用canvas画“哆啦A梦”时钟
2016/07/24 Javascript
vue.js开发环境安装教程
2017/03/17 Javascript
浅谈bootstrap layer.open中end的使用方法
2019/09/12 Javascript
vue-cli 为项目设置别名的方法
2019/10/15 Javascript
js实现旋转的星空效果
2019/11/01 Javascript
Vue退出登录时清空缓存的实现
2019/11/12 Javascript
javascript使用Blob对象实现的下载文件操作示例
2020/04/18 Javascript
Vue移动端用淘宝弹性布局lib-flexible插件做适配的方法
2020/05/26 Javascript
利用django如何解析用户上传的excel文件
2017/07/24 Python
python openpyxl使用方法详解
2019/07/18 Python
python中调试或排错的五种方法示例
2019/09/12 Python
python 实现视频 图像帧提取
2019/12/10 Python
HTML5的Geolocation地理位置定位API使用教程
2016/05/12 HTML / CSS
美国领先的宠物用品和宠物食品零售商:Petco
2020/10/28 全球购物
岗位职责的含义
2013/11/17 职场文书
会计专业导师推荐信
2014/03/08 职场文书
三八节标语
2014/06/27 职场文书
农业局党的群众路线教育实践活动整改方案
2014/09/20 职场文书
委托书的样本
2015/01/28 职场文书
2015年店长工作总结范文
2015/04/08 职场文书
巧用 -webkit-box-reflect 倒影实现各类动效(小结)
2021/04/22 HTML / CSS