1. 方法一 set方法变成成员是有唯一值的伪数组,Array.from方法变成真数方法一 set方法变成成员是有唯一值的伪数组,Array.from方法变成真数组
    2. function unique (arr) {
    3. return Array.from(new Set(arr))
    4. }
    5. 补充知识点:Array.from()方法就是将一个类数组对象或者可遍历对象转换成一个真正的数组。
    6. 方法二 利用for嵌套for,然后splice去重
    7. function unique(arr){
    8. for(var i=0; i<arr.length; i++){
    9. for(var j=i+1; j<arr.length; j++){
    10. if(arr[i]==arr[j]){ //第一个等同于第二个,splice方法删除第二个
    11. arr.splice(j,1);
    12. j--;
    13. }
    14. }
    15. }
    16. return arr;
    17. }
    18. 方法三 利用filter
    19. function unique(arr) {
    20. return arr.filter(function(item, index, arr) {
    21. //当前元素,在原始数组中的第一个索引==当前索引值,否则返回当前元素
    22. return arr.indexOf(item, 0) === index;
    23. });
    24. }
    25. 补充知识点:indexOf(item,0)方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在则返回-1
    26. item要查找的原素,0开始查找的位置默认为0
    27. 方法四 扩展运算符结合set
    28. arr = [1,2,2,2,2]
    29. this.list = [...new Set(arr)] //[1,2]