一、问题
如何对下面的数组进行去重:
1 | var arr = [1, 2, 2, 2, 3, 3, 3, 4, 5, 6]; |
二、概念解析
- indexOf(): 找到就返回下标,找不到就返回-1
- filter(): 数组过滤方法,复制出原数组中符合条件的元素组成新数组返回。
1
2
3var subArr=arr.filter(function(elem,i,arr){
return 判断条件
})
es5四种方式:
方式一:
1 | Array.prototype.unique_one = function () { |
方式二:
1 | Array.prototype.unique_two = function () { |
方式三: 字符串数组
1 | var arr_str = ["h", "e", "l", "l", "o"]; |
1 | Array.prototype.unique_three = function () { |
方式四:
1 | Array.prototype.unique_four = function () { |
方式五:
1 | Array.prototype.unique_five = function () { |
es6实现方式:
1 | /** 使用 ES6 语法中的 Set——数据集合 **/ |