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]
    
  • 相关阅读:
    苹果审核被拒,Guideline 1.1.6
    Java基础:类与继承
    Java中的static关键字解析
    Entity Framework 预备知识
    Entity Framework Code First执行SQL语句、视图及存储过程
    java多线程技能
    流与文件
    多线程
    集合
    断言
  • 原文地址:https://www.cnblogs.com/victor5230/p/6752759.html
Copyright © 2011-2022 走看看