码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript 几种数组去重的方法

时间:2019-07-07 14:47:28      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:for   ons   highlight   效果   function   console   html   indexof   spl   

一.利用for嵌套for,然后splice去重
let arr=[5,5,5,12,12,-3,33,33,35,8];
for( let i=0; i<arr.length;i++){
for(let k=i+1;k<arr.length;k++){
if(arr[i]===arr[k]){
arr.splice(i,1);
i--;
}
}}
console.log(arr)

二.Set方法去重

let arr = [1,2,2,3,4,3,1,6,7,3,5,7];
let s1 = new Set(arr);
let arr2 = [...s1];
console.log(arr2);

三.利用indexOf去重

let arr=[1,2,4,4,5,6,7,7,8,9];
let s = [];  //遍历数组
for(var i = 0;i<arr.length;i++){
if(s.indexOf(arr[i]) == -1){ //判断在s数组中是否存在,不存在则push到s数组中
s.push(arr[i]);
}
}
console.log(s);

 

四.利用sort去重

let arr=[1, 1, 2, 3, 5, 3, 1, 5, 6, 7, 4];
function unique(arr) {
    if (!Array.isArray(arr)) {
        console.log(‘type error!‘)
        return;
    }
    arr = arr.sort()
    var arrry= [arr[0]];
    for (var i = 1; i < arr.length; i++) {
        if (arr[i] !== arr[i-1]) {
            arrry.push(arr[i]);
        }
    }
    return arrry;
}
        console.log(unique(arr));

  

五.双重for循环,利用push达到去重效果

let arr=[1,2,4,4,5,6,7,7,8,9];
  let newArr = []
  for (let i = 0; i < arr.length; i++) {
    for (let j = i + 1; j < arr.length; j++) {
      if (arr[i] === arr[j]) {
        i++;
      }
    }
    newArr.push(arr[i])
  }
  console.log(newArr) 

JavaScript 几种数组去重的方法

标签:for   ons   highlight   效果   function   console   html   indexof   spl   

原文地址:https://www.cnblogs.com/youwei716/p/11146091.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!