javascript数组去重常用函数
JavaScript中数组去重的几种方法如下, 这几个函数都可以对简单的一维数组进行去除重复的操作。
注意:请注意数据类型,比如字符串的1和数组1是不一样的,不算重复
一、利用数组的indexOf方法去重 (ES5)
原理:array.indexOf(item, start) 返回数组array中指定元素item的位置,没有则返回-1
var arr = [1, 3, 8, 9, 3, 5, 4, 4, 6, 6, 2]; function unique(arr) { var len = arr.length; var temp = []; // 新建一个数组来存放arr中的值 for (var i = 0; i < len; i++) { if(temp.indexOf(arr[i]) === -1){ temp.push(arr[i]); } } return temp; } // [1, 3, 8, 9, 5, 4, 6, 2] console.log(unique(arr));
二、使用ES6中的 Set 方法去重
原理:ES6 提供了新的数据结构 Set。它似于数组,但它的一大特性就是所有元素都是唯一的,没有重复。
var arr = [1, 3, 8, 9, 3, 5, 4, 4, 6, 6, 2]; function unique(arr) { return Array.from(new Set(arr)); } // [1, 3, 8, 9, 5, 4, 6, 2] console.log(unique(arr));
三、使用ES6中数组的includes 方法去重
原理:ES6 给数组提供了includes方法,判断元素是否在该数组中存在,类似indexOf判断var arr = [1, 3, 8, 9, 3, 5, 4, 4, 6, 6, 2]; function unique(arr) { var len = arr.length; var temp = []; // 新建一个数组来存放arr中的值 for (var i = 0; i < len; i++) { if(!temp.includes(arr[i])){ temp.push(arr[i]); } } return temp; } // [1, 3, 8, 9, 5, 4, 6, 2] console.log(unique(arr));
转载请注明出处: 张子恒的网络日志