多种方法实现数组去重以及字符串去重(ES5常用去重方式、ES6快捷去重、hash表方式去重)
2018-02-26 09:38
681 查看
字符串去重跟数组去重大同小异,将字符串转成数组即可使用数组去重方法。ES5常用方式:
[b]hash表方式:[/b]
ES6方式:
ES6更简洁的写法:function unique(array) {
const result = [...new Set(array)]
console.log(result)
}
unique([1,2,2,3,4,5,5,5])运行结果:1,2,3,4,5
原理:es6新的数据结构Set类似于数组,但成员的值都是唯一的,可用于数组去重。
function unique(array) { var result = []; for(var i = 0; i < array.length; i++) { if (result.indexOf(array[i]) == -1) { result.push(array[i]); } } console.log(result.toString()); } unique([1,2,3,4,3,4,5,6,6,7]);运行结果:1,2,3,4,5,6,7
[b]hash表方式:[/b]
function unique(arr){ var hash = [], result = [],item; hash[arr[0]]=1; for (var i=1;i<arr.length ;i++ ) { if(hash[arr[i]]===undefined){ hash[arr[i]]=1 } } for (item in hash) { result.push(item); } console.log(result.toString()); } unique([20,50,20,40,50,10,20]);运行结果:10,20,40,50
ES6方式:
function unique(array) { const s = new Set(); array.forEach(x => s.add(x)); for (let i of s) { console.log(i) } } unique([1,2,2,3,6,6,7,8,8])运行结果:1,2,3,6,7,8
ES6更简洁的写法:function unique(array) {
const result = [...new Set(array)]
console.log(result)
}
unique([1,2,2,3,4,5,5,5])运行结果:1,2,3,4,5
原理:es6新的数据结构Set类似于数组,但成员的值都是唯一的,可用于数组去重。
相关文章推荐
- 记录个人数组、字符串自己常忘记的方法,以及ES常用处理方式
- java用数组模拟实现ArrayList以及一些常用方法实现
- java中字符串处理、串联和转换的几个常用方法,以及如果需要自己编程实现的具体实施步骤。
- UNIX常用的IP表示掩码方式转换为字符串的程序实现方法
- strcat,strcpy,strcmp,strlen4个常用字符串处理函数的数组与指针简单实现方法~
- 关于字符串判断的几个常用属性 以及简单项目实现中数组运用的初步思想 蓝懿教育
- JavaScript使用hash表方式实现数组去重。
- @V@ java代码笔记2010-06-12:java控制台输入各类型类实现;以及判断输入字符串里面是否有数字的两种方法:方法1:转换成字符数组;方法2:正则表达式。
- javascript数组的申明方式以及常用方法
- javascript数组的申明方式以及常用方法
- C/C++/VC 实现字符串逆转的多种方法
- 一些常用算法[数组全排列算法,单链表反转(递归实现),字符串反转,桶排序]
- PHP 数组和字符串互相转换实现方法
- awk 数组排序多种实现方法
- jQuery去掉字符串起始和结尾的空格(多种方法实现)
- JS解析json数据并将json字符串转化为数组的实现方法
- php数组中常用的多种遍历方式
- 在Javascript中对String的一些方法扩展,实现常用的字符串处理。
- 判断一个字符串是否全是数字的多种方法及其性能比较(C#实现)
- * java 中的数组 对象数组 以及main方法中的参数 x y不用中间参数实现交换