数组去重

方法一:

var newArr = []
var arr = [1,2,3,1,2,1]
 for(var i=0;i<arr.length;i++){
    for(var j=i+1;j<arr.length;j++){
       if(arr[i]===arr[j]){
          i++
          j=i
        }
     }
    newArr.push(arr[i])
}
console.log(newArr)

方法二:

var arr = [1,2,3,1,2,4,3,2]
var newArr = []
for(var i=0;i<arr.length;i++){
   var flag = true
   for(var j=0;j<newArr.length;j++){
      if(arr[i] === newArr[j]){
         flag = false
         break
      }
   }
  if(flag){
    newArr.push(arr[i])
  }
}
console.log(newArr)

比较方法二比较方法一多了一个开关的控制,相对于方法一方法二逻辑性更强

方法三:

var arr = [1,2,3,4,2,3,1]
arr.sort()
var newArr = [arr[0]]
for(var i=0;i<arr.length;i++){
   if(arr[i] !== newArr[newArr.length-1]){
      newArr.push(arr[i])
   }
}
console.log(newArr)

方法三线将数组排序再去重

注:这里方法三只适合一位数进行比较排序

方法四:

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

方法五:

var arr = [2, 8, 5, 0, 5, 2, 6, 7, 2]
var newArr = []
for (var i = 0; i < arr.length; i++) {
   if (arr.indexOf(arr[i]) === i) {
      newArr.push(arr[i])
   }
}
console.log(newArr)

posted @ 2021-01-04 16:39  有肌肉的小眼睛  阅读(81)  评论(0)    收藏  举报