indexOf去重

  1. const array = [2,22,13,4,2,2]
  2. let newArray = []
  3. for(let key of array){
  4. if(newArray.indexOf(key) === -1){
  5. newArray.push(key)
  6. }
  7. }

哈希去重

  1. var newArr = [];
  2. var obj = {}
  3. for (var i = 0; i < arr.length; i++) {
  4. if (obj[typeof arr[i] + arr[i]] == undefined) {
  5. newArr.push(arr[i]);
  6. obj[typeof arr[i] + arr[i]] = true;
  7. }
  8. }

ES6 set数据结构

  1. let set=new Set(arr);
  2. let newArr=[...set];
  3. // 或者
  4. let newArr=Array.from(set);

ES6 map数据结构

  1. const map = new Map();
  2. arr.filter((item)=>!map.has(item)&&map.set(item,1))

includes

判断数组是否包含某个值,返回Boolean值

  1. var newArr=[];
  2. for(var i in arr){
  3. if(!newArr.includes(arr[i])){
  4. newArr.push(arr[i])
  5. }
  6. }

之后再陆续学习补充……