zoukankan      html  css  js  c++  java
  • 利用set实现去重

    var arr=[1,2,1,3,2,4,5,1,3];
    var setArr=new Set(arr);
    var newArr=[];
    setArr.forEach(function(e){
        newArr.push(e);
    });
    console.log(newArr);

     set是es6里新提出的一个集合的概念,类似于数组arr,同样不只是数字类型,其他类型的数据如字符串等也是支持的,set有个和数组不同的特性就是重复的元素加入集合中是无效的,因此一个数组,利用set.add来加入到这个集合中来就自动实现了去重的步骤。

    以下是Set支持的所有操作:

    • new Set:创建一个新的、空的Set
    • new Set(iterable):从任何可遍历数据中提取元素,构造出一个新的集合。
    • set.size:获取集合的大小,即其中元素的个数。
    • set.has(value):判定集合中是否含有指定元素,返回一个布尔值。
    • set.add(value):添加元素。如果与已有重复,则不产生效果。
    • set.delete(value):删除元素。如果并不存在,则不产生效果。.add().delete()都会返回集合自身,所以我们可以用链式语法。
    • set[Symbol.iterator]():返回一个新的遍历整个集合的迭代器。一般这个方法不会被直接调用,因为实际上就是它使集合能够被遍历,也就是说,我们可以直接写for (v of set) {...}等等。
    • set.forEach(f):直接用代码来解释好了,它就像是for (let value of set) { f(value, value, set); }的简写,类似于数组的.forEach()方法。
    • set.clear():清空集合。
    • set.keys()set.values()set.entries()返回各种迭代器,它们是为了兼容Map而提供的

    本文转自:http://www.cnblogs.com/weblv/p/5192178.html

  • 相关阅读:
    C++ 内存分配(new,operator new)详解
    单例
    实现sizeof
    muduo学习一:简介
    虚函数可以是内联函数吗?
    C++多态实现机制
    [转] Android 开源框架Universal-Image-Loader完全解析(一)--- 基本介绍及使用
    [Android]实现客户端之间的即时通信
    android获取手机通讯录
    java中forName()的作用
  • 原文地址:https://www.cnblogs.com/czaiz/p/5286582.html
Copyright © 2011-2022 走看看