es6中的setmap数据结构

彭蒙善 彭蒙善     2022-09-06     241

关键词:

   MapSet都是ES6新的数据结构,他们都是新的内置构造函数。也就是说typeof的结果,多了两个。

他们是什么:

   Set是不能重复的数组。

   Map是可以任何东西当做键的对象;

 

  ES6 提供了新的数据结构 Set它类似于数组,但是Set成员的值都是唯一的,没有重复的值

   let m = new Set();

            m.add(1);

            m.add(2);

            m.add(3);

            m.add(3);

            m.add(3);

            m.add(4);

            m.add(5);

         console.log(m);

 

 

 集合中添加数据用add()方法,会自动过滤已经有的元素。

  let m = new Set([1,1,1,1,2,2,2,2,3,3,3]);

    console.log(m);

 

   

 最快的数组去重的方法

  let m = new Set([1,1,1,1,2,2,2,2,3,3,3]);

    console.log(m);

 

   

  let m = new Set([1,2,3,4,5]);

   console.log(m.size);

   console.log(m.has(4));

   console.log(m.delete(4));

   console.log(m);

 

 

    集合的关注点是元素在里面,而不关注顺序,所以不提供枚举某项的API。但是可以转为数组[...m]

    ES6 提供了 Map 数据结构。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。也就是说,Object 结构提供了“字符串—值”的对应,Map结构提供了“值—值”的对应,是一种更完善的 Hash 结构实现。如果你需要“键值对”的数据结构,Map Object 更合适。

 let m = new Map();

   const o = {"a" : 1 , "b" : 2};

   m.set(o , 123);

   m.set(2 , 456);

   console.log(m);

 

 

 使用get来得到元素,key是区分类型的。

 console.log(m.get(o));

 

    本人的小小理解~~~

es6笔记--setmap结构和iterator迭代器

...C++的人应该知道这是个迭代器对象,拥有一个指针,指向数据结构中的某个成员JS中的iterator也有类似的功能,JS内部为一些数据结构实现了iterator迭代器 查看详情

es6----setmap应用场景(代码片段)

1.数组去重2.字符串去重属性:Set.prototype.size:返回Set实例的成员总数。Set实例的方法分为两大类:操作方法(用于操作数据)和遍历方法(用于遍历成员)。下面先介绍四个操作方法。add(value):添加某个值,返回Set结构本身。d... 查看详情

list和setmap的差别迭代器读取数据

packagecollectiondemo;importjava.util.ArrayList;importjava.util.LinkedList;importjava.util.List;publicclassTestIt{publicstaticvoidmain(String[]args){//TODO自动生成的方法存根//常见的集合(线性的集合)//List接口就是线性存储的接口,并且是有 查看详情

setmap

...,元素自动按从小到大排序,multiset可以包含重复元素的setmap是排序的结构体,键值不能重复,multimap允许有重复的键值 set(multiset)map(multimap)头文件<set><map>定义#include<functional>set<int,less<i 查看详情

es6入门概览二--数组

...document.getElementsByTagNames等)和可遍历对象(包括ES6新增的SetMap)  --ES5,伪数组转为真正的数组Array.prototype.slice().call(fakeArray) Array.from()的另一个应用是将字 查看详情

es6中的iterator(代码片段)

【简介】遍历器/迭代器。任何数据结构只要部署Iterator接口,就可以完成遍历操作。这种数据结构是“可遍历的”(iterable)。如何判断是否可遍历? typeoftarget[Symbol.iterator]//function【作用】  1.为各种数据结构,提供... 查看详情

es6中的set和map

Set是一种叫做集合的数据结构Map是一种叫做字典的数据结构应用场景:数据去重和数据存储集合是由一组无序且唯一的项组成的,可以想象成集合是一个既没有重复元素,也没有顺序概念的数组ES6提供了新的数据结构Set,类似于... 查看详情

list与setmap区别及适用场景

...会覆盖掉,(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的,加入Set的Object必须定义equals()方法,另外list支持for循环,也就是通过下标来遍历,也 查看详情

关于es6中的结构

  ES6中的解构赋值主要遵循的规则是,先看等号右边,右边有值走赋值,右边无值走左边默认。下面列出几个小栗子介绍它的主要运用。1functionfn(){2return3;3}4let[x=fn()]=[1];5console.log(x);//x=1   上面的列子看出,尽管x=一... 查看详情

es6中的基本数据类型

Number,String,Null,Undefined,Symbol,Boolean用typeof可以检测出变量的基本数据类型,但是有个特例,就是null的typeof返回的是object,这个是javascript的历史BugES6新增数据类型Symbol: 表示独一无二的值typeof Symbol()//‘symbol‘typeofNumber()//‘... 查看详情

面试官:说说你对setmap的理解

前言面试官:“说说你对Set、Map的理解”紧张的萌新:“Set类似集合,Map是映射?...”面试官:“...”······大家好,我是CoderBin,又来到了面试官系列,本次总结了JavaScript中ES新增的Set、Map数据接口的一些常用总结。希望对... 查看详情

面试官:说说你对setmap的理解

前言面试官:“说说你对Set、Map的理解”紧张的萌新:“Set类似集合,Map是映射?...”面试官:“...”······大家好,我是CoderBin,又来到了面试官系列,本次总结了JavaScript中ES新增的Set、Map数据接口的一些常用总结。希望对... 查看详情

es6中的set和map集合

...果需要使用非数值型索引,就会用非数组对象创建所需的数据结构,而这就是Set集合与Map集合的早期实现。本文将详细介绍ES6中的set和map集合 引入  Set集合是一种无重复元素的列表,开发者们一般不会逐一读取数组中的元... 查看详情

es6中的set和map集合

...果需要使用非数值型索引,就会用非数组对象创建所需的数据结构,而这就是Set集合与Map集合的早期实现。本文将详细介绍ES6中的set和map集合 引入  Set集合是一种无重复元素的列表,开发者们一般不会逐一读取数组中的元... 查看详情

ES6 中的 Map 类需要啥? [复制]

】ES6中的Map类需要啥?[复制]【英文标题】:What\'stheneedofaMapclassinES6?[duplicate]ES6中的Map类需要什么?[复制]【发布时间】:2016-12-2115:13:55【问题描述】:ES6标准的新特性之一是Map类,用于创建数据的key:value集合。好的,对。但是... 查看详情

es6中的解构赋值(代码片段)

目录数组解构赋值基本解构单个解构获取数组长度对象的结构赋值基本解构重命名结构默认值结构解构赋值简单的说就是将声明和赋值都放在一起使用。解构的意思就是等号左右两边的结构要基本一致。数组解构赋值基本解构let... 查看详情

理解es6中的const与“不变”(代码片段)

...址,const只能保证这个指针是固定的,不能保证它指向的数据结构是不可变得'usestrict'constobj=constarr=[]obj 查看详情

ES6中的函数不返回变量[重复]

】ES6中的函数不返回变量[重复]【英文标题】:FunctionnotreturningvariableinES6[duplicate]【发布时间】:2019-03-3016:11:16【问题描述】:我试图在ES6中返回一个变量,其中数据由Expo中的SQLLite事务加载到其中,但我不确定如何执行此操作,... 查看详情