数组去重的几个常用方法

2021-01-15  本文已影响0人  一只章鱼哥

方法一:利用Set方法来处理

function unique0(arr){
return Array.from(new Set(arr)

方法二:循环中使用splice去重

function uniquel(arr) {
for (var i = 0; i < arr.length;i++){
for (var j = i + 1; j< arr.length;j++) {
if (arr[i] == arr[j]){
arr.splice(j,1);
j--;
  }


return arr;

方法三: 利用indexOf方法

function unique2(arr) {
if(!Array.isArray(arr)){
return

var array = []
for(var i = O;i<arr.length;i++){
if(array.indexOf(arr[i]) === -1) {array.push(arr[i])
}

return array

方法四,利用sort提前处理

function unique3(arr) {
if(!Array.isArray(arr)){
return;

arr = arr.sort()
var array = [arr[0]]
for(var i = 1; i< arr.length;i++) {
if(arr[i] !== arr[i-1]) {
array.push(arr[i])


return array
}

方法5:利用includes

function unique(arr) {
    if (!Array.isArray(arr)) {
        console.log('type error!')
        return
    }
    var array =[];
    for(var i = 0; i < arr.length; i++) {
            if( !array.includes( arr[i]) ) {//includes 检测数组是否有某个值
                    array.push(arr[i]);
              }
    }
    return array

}

上一篇下一篇

猜你喜欢

热点阅读