js-数组去重的几种方式(最常用)

1, 利用es6的set方法     -set特性:重复元素在set中自动被过滤

var s = new Set([1, 2, 3, 3, '3']);

2,利用for嵌套循环, splice去重(es5常用)

function unique(arr){ for(var i=0; i

3,利用indexOf去重  -- 就判断空数组中是否有相同元素,没有则添加

function unique(arr) { if (!Array.isArray(arr)) { console.log('type error!') return } var array = []; for (var i = 0; i < arr.length; i++) { if (array .indexOf(arr[i]) === -1) { array .push(arr[i]) } } return array;}

4,利用filter

function unique(arr) { return arr.filter(function(item, index, arr) { //当前元素,在原始数组中的第一个索引==当前索引值,否则返回当前元素 return arr.indexOf(item, 0) === index; });}

5,利用includes

var array =[]; for(var i = 0; i < arr.length; i++) { if( !array.includes( arr[i]) ) {//includes 检测数组是否有某个值 array.push(arr[i]); } }

你可能感兴趣的:(js-数组去重的几种方式(最常用))