js陣列去重並且公升序排序常用方法總結

2021-08-16 10:17:33 字數 1383 閱讀 6090

]方法一:

雙層迴圈,外層迴圈元素,內層迴圈時比較值

如果有相同的值則跳過,不相同則push進陣列

array.prototype.distinct = function()

} result.push(arr[i]);

} return result;

}var array = [1,2,3,4,4,1,1,2,1,1,1];

array.distinct(); //返回[3,4,2,1]

array.sort(function (x,y) );
方法二:利用物件的屬性不能相同的特點進行去重

array.prototype.distinct = function (),

result = ,

len = arr.length;

for(i = 0; i< arr.length; i++)

} return result;

};var a = [1,2,3,4,5,6,5,3,2,4,56,4,1,2,1,1,1,1,1,1,];

var b = a.distinct();

array.sort(function (x,y) );
方法三:利用新陣列indexof查詢

方法四:利用hash陣列

方法五es6:

[...new set(arr)].sort()

另外:filter去重

var arr = [1, 2, 2, 3, 4, 5, 5, 6, 7, 7,8,8,0,8,6,3,4,56,2];

var arr2 = arr.filter((x, index,self)=>self.indexof(x)===index)  

console.log(arr2); //[1, 2, 3, 4, 5, 6, 7, 8, 0, 56]

json陣列去重

/*

* json陣列去重

* @param: [array] json array

* @param: [string] 唯一的key名,根據此鍵名進行去重

*/ function uniquearray(array, key)

}if (!repeat)

} return result;

}

js 陣列合併並且去重

一 陣列合併的兩種方法 1 concat 合併陣列,並且不去重 var arr1 ab bc de fg var arr2 ml kg ww bc am var arr3 arr1.concat arr2 console.log arr3 2 自定義陣列合併並去重函式 var arr1 ab bc ...

去重排序 JS 陣列去重

陣列去重算是面試題裡常見的考點了,之前在 medium 上看到一篇文章用三種方法實現陣列去重的,感覺十分簡潔。主要用到的是 set,array.filter,array.reduce。可能第一種大家都知道,方方也講過基數排序來去重,但是能用 filter,reduce 寫成這樣的真的很簡潔呀。let...

JS陣列去重,物件去重

例項1根據indexof去重,indexof的好處就是返回的是首次出現的位置,這樣後面即使出現的值一樣,也只能返回第一次出現的索引,當然這個只適用於簡單的陣列 物件陣列去重 const objarr const obj const newobjarr for let i 0 i objarr.len...