精华内容
下载资源
问答
  • 2019-10-11 10:54:05
    const items = new Set([1, 2, 3, 4, 5, 5]); //去重
    const array1 = [...items];      //2.转成数组

     

    更多相关内容
  • JSSet去重

    千次阅读 2019-09-03 15:43:24
    Set类似于数组,但成员均是唯一的,没有重复值。Set本身是一个构造函数,用来生成Set数据结构。 数组去重 const arr=[2,2,3,4,4]; const uniqe=[...new Set(arr)]; //[2,3,4] Array.from方法可以将Set结构转换...

    Set类似于数组,但成员均是唯一的,没有重复值。Set本身是一个构造函数,用来生成Set数据结构。

    数组去重

    const arr=[2,2,3,4,4];
    const uniqe=[...new Set(arr)];
    //[2,3,4]

    Array.from方法可以将Set结构转换为数组

    //一个去重函数
    function unique(arr){
        return Array.from(new Set(arr));
    }
    unique([1,1,2])
    //[1,2]

    字符去重

    Set可以容易实现并集union和交集intersect和差集difference

    let a=new Set([1,2,3]);
    let b=new Set([4,3,2]);
    
    //并集
    let union=new Set([...a,...b]);
    //Set{1,2,3,4}
    
    //交集
    let intersect=new Set([...a].filter(x=>b.has(x)));
    //Set{2,3}
    
    //差集
    let difference=new Set([...a].filter(x=>!b.has(x)));
    //Set{1}

     

    展开全文
  • JS数组去重之利用set数据结构去重

    千次阅读 2018-03-15 17:27:18
    在常用的JS去重方法中,都是通过循环遍历来去重,难免麻烦了不少。这边发现ES6中有更加方便的去重方式,记录一下。 1、set数据结构 ES6提供了新的数据结构Set。类似于数组,只不过其成员值都是唯一的,没有重复...

    在常用的JS去重方法中,都是通过循环遍历来去重,难免麻烦了不少。这边发现ES6中有更加方便的去重方式,记录一下。

    1、set数据结构

    ES6提供了新的数据结构Set。类似于数组,只不过其成员值都是唯一的,没有重复的值。
    这边就是利用set没有重复值的特性,进行去重:

    具体请参考博客,讲的非常清晰

    function dedupe(array){
     return Array.from(new Set(array));
    }
    dedupe([1,1,2,3]) //[1,2,3]

    解释:
    1、先新建个dedupe函数,传入数据是数组
    2、传入的数组通过new set()转化为set数据格式,此时就已经把重复值给去掉了。
    3、通过Array.form方法,把set数据结构转换为数组即可。
    4、关于Array.form函数也是ES6新出的语法,请参考博客

    end

    展开全文
  • js-数组去重的几种常用方法 1,使用ES6中的 Set 方法去重 ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。 很多时候我们把Set叫做集合; 注意,Set可以是集合,集合不一定是Set...

    js-数组去重的几种常用方法

    1,使用ES6中的 Set 方法去重

    • ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。 很多时候我们把Set叫做集合;
    • 注意,Set可以是集合,集合不一定是Set;

    set集合转换为真正的数组的两种方法如下:

    // 1.展开操作符
    let s = new Set([1,2,3,4])
    console.log([...s]);
    
    // 2.Array.from() 也是es6语法 
    let s2 = new Set([1,2,3,4])
    console.log(Array.from(s2));
    

    Set 方法去重*

    let arr = [1, 1, 2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 7];
    
    let set = new Set(arr);  // 这一步就已经去重了,但还不是数组,是一个set集合
    let newArr = [...set];  // 这里是转为一个真正的数组
    
    console.log(newArr); // 输出
    结果如下:
    [  1, 2, 3, 4,  5,  6, 7, 8, 9, 10]
    

    2,使用双重for循环,再利用数组的splice方法去重(ES5常用)
    splice删除用法:
    要传两个参数,第一个参数(要删除第一项的位置),第二个参数(要删除的项数)

    var arr = [1, 1, 2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 7];
    // 每一项与下一项进行比较
    function quchong(arr) {
      for (var i = 0, len = arr.length; i < len; i++) {
        for (var j = i + 1, len = arr.length; j < len; j++) {
          if (arr[i] === arr[j]) {
            arr.splice(j, 1); // 把当前这一项干掉
            j--; // 每删除一个数j的值就减1
          }
        }
      }
      return arr;
    }
    console.log(quchong(arr)); 
    结果如下:
    [  1, 2, 3, 4,  5,  6, 7, 8, 9, 10]
    

    3,使用数组的indexOf方法去重
     注:array.indexOf(item,statt) 返回数组中某个指定的元素的位置(返回的是下标),没有则返回-1

    // 数组的splice方法去重
    var arr = [1, 1, 2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 7];
    
    function quchong(arr) {
      var newArr = []; // 新建一个数组来存放arr中的值
      for (var i = 0, len = arr.length; i < len; i++) {
        if (newArr.indexOf(arr[i]) === -1) {
            newArr.push(arr[i]);
        }
      }
      return newArr;
    }
    console.log(quchong(arr));
    结果如下:
    [  1, 2, 3, 4,  5,  6, 7, 8, 9, 10]
    

    如有错误,清多指出。

    展开全文
  • JS数组去重的方法及原理(全)

    千次阅读 2020-01-28 20:21:37
    前端遇到最多的无非就是循环,判断,处理后台返回的数据了,那么今天介绍一下数组去重的几种常用方法。 一,
  • 去重方法1: arrHeavy(arr){ let map = new Map() ... map.set(item, item) } } return [...map.values()] } 去重方法2: mapGet (arr) { for (let i = 0; i < arr.length; i++) { f
  • js代码-去重Set 对象 + 解构赋值
  • JavaScript Set()对象 实现去重

    千次阅读 2022-04-19 13:13:04
    Set()对象里的值具有唯一性,我们可以利用这个特性进行数组去重 let arr=[2,2,2,8,8,55,55,0.1,0.1,"i","i",null,null,undefined,undefined,NaN,NaN]; let newArr=[]; function removing(arr){ newArr=Array.from...
  • 关于使用set去重对象无效的问题

    千次阅读 2019-01-21 20:41:29
    关于使用set去重对象无效的问题 最近使用set去重遇到对于集合为对象的集合,使用set无效的问题解决办法: 假如有一个List users的对象,现在去重集合中重复的user对象,利用set集合特性进行去重 Set&lt;user&...
  • JS中怎么对一个数组进行去重?相信很多人对这个问题都已经很熟悉了,最简便的方法就是使用 Set ???? let arr = [1, 2, 3, 3, 4, 5, 5]; console.log([...new Set(arr)]); // [1, 2, 3, 4, 5] 那么如何对数组中的...
  • 上一次用了Map的方式对数组去重:es6通过Map对象对数组去重 偶然发现Set对象更加容易 const arry = [1, 2, 1, "1", "2", "1"]; console.log(Array.from(new Set(arry))); Array.from()方法就是将Set转为数组,对于这...
  • JS技巧---Set数组去重

    万次阅读 2018-08-23 11:09:52
    在 ES6 中,引入了一个新的数据结构类型:Set。而 Set 与 Array 的结构是很类似...下面我们看看用 Set 和 …(拓展运算符)可以很简单的进行数组去重。 const removeDuplicateItems = arr =&gt; [...new Set(ar...
  • 浅析Set去重的原理

    2020-11-23 09:54:10
    public class TestSet { public static void main(String[] args) { // TODO Auto-generated method stub // 使用顺序存储结构存储 Set set = new HashSet(); Student s1= new Student(1,"张三"); ...
  • 数组去重是一个老生常谈的问题,我们前端在实际的开发也会遇到,现在已经有各种各样的数组去重解法,下面对不同数组去重方法进行性能分析,让大家了解那种解法的时间复杂度低,运行效率高。 一、利用filter筛选...
  • js使用set方法对数组中的数据进行去重 数组中的元素可以是数字,对象等,如果重复,可以使用set方法去重,然后再使用Array.from转换成数组,方法如下 Array.from(new Set(checkedArr))
  • set 去重对象Object

    千次阅读 2017-09-11 18:45:09
    最近在公司要用到大量数据去重,然后网上一查说用set最简单方便了(大家应该知道set里面的数据是不允许重复的),用法其实很简单网上都有。然后我就用了发现没有成功,根本没有达到去重效果(我造的数据里面有2条...
  • //方法1:set去重 let res1 = new Set(arr); console.log([...res1]); 记得输出时用展开语法将结果放到数组里面呀~~~~~ 输出:[1,2,3,4,5]. 方法2:使用数组自带的filter()函数 //方法2:filter let res2 = arr...
  • Set去重原理和内部实现

    万次阅读 2018-10-07 10:15:14
    Set去重的原理非常简单,Set的内部是通过Map来实现的。 我们选取平时常的HashSet来分析 private transient HashMap&lt;E,Object&gt; map; private static final Object PRESENT = new Object(); /** ...
  • 数组去重,一般都是在面试的时候才会碰到,一般是要求手写数组去重方法的代码。如果是被提问到,数组去重的方法有...一、利用ES6 Set去重(ES6中最常用) function unique (arr) { return Array.from(new Set(arr)) }
  • Javascript set结构 (去重)

    千次阅读 2018-10-09 20:18:01
    javascript 的set结构用来去重非常方便,这里记录一下。 文章目录1 背景2 set数据结构2.1 set创建2.2 set 加入或删除key操作2.3 set转数组 1 背景 最近遇到问题,要记录某个人曾经用过的手机和操作系统记录到一个...
  • 如果返回true就留下,false就过滤掉 – reduce:收敛 方法一:set :不是一种数据类型,是一种数据结构;成员唯一 let arr = [12,1,12,3,1,88,66,9,66]; function unique(ary) { let s = new Set(ary); // Array....
  • JS去重的几种方法

    千次阅读 2021-02-20 20:42:43
    1、利用set去重 代码如下(示例): function arr1(arr) { return Array.from(new Set(arr)) } var arr = [1, 1, 1, 2, 2, 3, 4, 5, 6, 3, 4, 2, 4, 1,]; console.log(arr1(arr)) 这是目前最简单的去重方法,但是不...
  • 数组的去重 js的简单数组排序 第一种: // 冒泡排序:把所有数据按照一定的顺序进行排序 var arr1 = [10, 90, 55, 43, 23, 8, 79]; //循环控制比较的轮数 for (var i = 0; i < arr1.length - 1; i++) { //...
  • js中数组去重

    2019-10-16 09:54:16
    js中的数组去重 1.创建一个新数组,把数组中的每一个元素插入到新数组中 2.遍历原数组中每一个元素分别和新数组中的每一个元素进行比较 1.对一个数组去重处理 第一种去重方法 <script> //原数组 var arr = ...
  • js最简单的数组去重方法set数组去重 function newArr(arr) { return Array.from(new Set(arr)) }
  • JS - Map Set & 去重方法

    千次阅读 2020-08-17 22:28:05
    Object则按照键名的字典序排序 Set Set是一种数据结构,特点是不能存放相同的元素,可用于数组去重 var setArray = new Set([1, 1, 2, 2, 3]); for (let value of setArray) { console.log(value); } console.log...
  • 一:元素比较 1.双层for循环 function uniq (arr){ for(let i = 0 ;i 双层循环 时间复杂度O(n2) 因为使用 === 对比,NaN === NaN 是false,所以重复的NaN不能去掉哦 2.排序并进行相邻比较 ... set是可以去重NaN的。
  • JS 利用set去重,再转数组

    千次阅读 2019-02-25 09:32:59
    let arr = [1,2,3,4,2,3]; let s = new Set(arr); console.log(s); // Set(4) {1, 2, 3, 4} var s1 = Array.from(s); console.log(s1); // [1, 2, 3, 4]
  • js Array去重

    2021-03-01 10:04:43
    最近需要用到js去重,突然忘记怎么搞了,查了下想起来了,记录下,以免再忘记 使用Set 从这个console的test就可以看出来,因为set里都是非重的,所以可以利用set来去重,new set之后再转回Array.,返回一个新的Array,原来的...
  • 构造Set()的实例,使用Set的add方法添加元素, 因为Set 中的元素是唯一的,所以目前是去重的对象 使用Array.from把对象转为数组就ok function removeRepete(array){ let newSet=new Set() array.forEach(v => ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,683
精华内容 7,073
关键字:

jsset去重