189 8069 5689

phpmap数据结构 php map类型

vue.js Map 数据结构

(一)Map 数据结构

创新互联专业提供成都移动机房托管服务,为用户提供五星数据中心、电信、双线接入解决方案,用户可自行在线购买成都移动机房托管服务,并享受7*24小时金牌售后服务。

1.Map 数据结构,类似于对象,键值对的集合, 所有的数据都是唯一的,不会重复,每条数据都需要放在一个数组中,它本身就是一个构造函数

size 数据的长度

set() 添加一个数据

delete() 删除一条数据

get () 获取一条数据

has() 查找某条数据,返回一个布尔值

clear() 删除所有数据

参考资料:

带你轻松理解数据结构之Map

Map结构跟我们上节讲解的set结构语法差不多 《理解数据结构之Set,只要5分钟》 ,不同是Map语法是一种数组键值对格式,Map也是处理了防止对象键值强制类型转换问题。Map是利用数组特性解决的,我们都知道数组可以传入任意类型值,所以Map结构也接收所有类型值。我们刚才说了值不会向对象那样进行强制类型转换,如24和"24"就是两种类型关系,互不会影响 。

上面example中,创建一个Map对象,上面我们说过Map是一个数组对象,里面还接收一个数组对象也就是二维数组,里面的参数也就是键值对形式,然后设置map值,map.set方法接收两个参数,前者是key值后者是value值。这时Map对象添加了name值

上面example中,Map对象提供了查看size属性,查看当前Map结构有几组数据。

上面example中,我们使用Map.get方法获取对象的属性值。如果获取一个Map对象中不存在的则返回undefined。

上面example中,Map.has返回的是一个Boolean值,会去这个Map中查找如果找到返回true,否则返回false,一般用于检测这个Map中存在该值的时候使用。

上面example中,Map.delete方法删除结构中某个值,如果这个值存在Map结构中删除则返回true,如果删除一个不存在的值则返回false。

上面example中,Map.clear该方法则会清除Map结构中所有的属性。

上面example中,可以看到Map结构是一个二维数组,里面是键值对形式的。Map结构也可以使用forEach遍历,它接收3个参数:

我们上面讲了Map可以forEach遍历,这样循环解析也可以组成一个新的对象。那么Es6方法新提供了快速将这种结构转换为对象。

一句话总结:Set结构主要用作于判断某个值是否存在该对象中,而Map结构主要用作于从当前结构中获取该对象的值。

有的情况下我们需求想实现,我第一次请求后台接口Api,当我请求过后第二次就走缓存,不在发送接口Api。

我们在项目需求时,肯定会遇到一个状态对应着一种操作,如下:

Map 结构

1、Map 结构

作为构造函数,Map 也可以接受一个数组作为参数。该数组的成员是一个个表示键值对的数组。

事实上,不仅仅是数组,任何具有 Iterator 接口、且每个成员都是一个双元素的数组的数据结构都可以当作Map构造函数的参数。这就是说,Set和Map都可以用来生成新的 Map。

如果对同一个键多次赋值,后面的值将覆盖前面的值。

2、Map的实例属性和操作方法

3、Map的遍历方法

Map 的遍历顺序就是插入顺序。

Map 结构转为数组结构,比较快速的方法是使用扩展运算符(...)。

Map 还有一个forEach方法,与数组的forEach方法类似,也可以实现遍历。forEach方法还可以接受第二个参数,用来绑定this。

4、Map结构与其它结构进行相互转换

5、WeakMap

参考链接 : 阮一峰ES6教程


网站名称:phpmap数据结构 php map类型
URL分享:http://cdxtjz.com/article/hgcidd.html

其他资讯