zoukankan      html  css  js  c++  java
  • 数组去重

    数组去重的两种方法

    一、利用数组的indexOf方法实现

    原理:数组的indexOf(a);方法会返回字符a所在数组中的位置。当返回-1时,代表数组中不存在a这个字符;

    var str = [1,2,2,2,3,4,5,5,6,7];
    var backStr = [];
    for(var i=0;i<str.length;i++){
    	if( backStr.indexOf(str[i]) < 0 ){
    		backStr.push(str[i]);
    	}
    } 
    console.log(backStr);//1,2,3,4,5,6,7
    

    缺点:性能上不是很好,需要使用for循环去遍历数组再添加;

    二、使用ES6中set()和Array.from()方法

    原理:set是一种新的数据结构,它可以接收一个数组或者是类数组对象,自动去重其中的重复项目.

    var str = [1,2,2,2,3,4,5,5,6,7];
    console.log(new Set(str));//{1,2,3,4,5,6,7}
    

    直接使用set方法返回的是一个对象;
    最后我们要的是返回数组,所以需要使用Array.from()将对象转化成数组;

    var str = [1,2,2,2,3,4,5,5,6,7];
    console.log(Array.from(new Set(str)));//[1,2,3,4,5,6,7]
    
  • 相关阅读:
    Go语言学习笔记(3)
    Haskell语言学习笔记(97)Phantom Type
    Rust语言学习笔记(12)
    堆排序 Rust实现
    Rust 智能指针(Rc)
    Rust 泛型
    Rust 枚举
    Rust 结构体
    Rust 引用
    二叉搜索树
  • 原文地址:https://www.cnblogs.com/victor5230/p/6752759.html
Copyright © 2011-2022 走看看