JavaScript 数组去重
方法一
双循环,外循环遍历整个数组,内层循环进行比较,如果有相同的值则跳过,不同则 push 进结果数组
1 | Array.prototype.distinct = function() { |
方法二
利用 splice
方法直接在原数组上将相同的元素删除
1 | Array.prototype.distinct = function() { |
方法三
利用对象的属性不能相同的特点进行去重,但存在 数值型 1 和字符型 1 是同一个的问题
1 | Array.prototype.distinct = function() { |
方法四
利用ES6 Set
1 | let arr = [1, 2, 3, 3] |
方法五
利用 indexOf
和 forEach
方法
1 | Array.prototype.distinct = function() { |
方法六
利用数组递归去重,先排序,然后从最后开始比较,遇到相同则删除。
1 | Array.prototype.distinct = function() { |