JS新增对象Map、Set

JavaScript05

JS新增对象Map、Set,第1张

Map映射是ES6里面新增的一个对象,是一组键值对的结构,具有极快的查找速度。

Map是类似Object的一种键值对集合,区别在于Map的键不仅限于是字符串,其他各种类型的值包括对象都可以成为Map的键

Set也是ES6新增的对象,Set是一组key的集合,但不存储value, 而且key不重复,可自动排重

add(value):添加某个值,返回Set结构本身。

delete(value):删除某个值,返回一个布尔值,表示删除是否成功。

has(value):返回一个布尔值,表示该值是否为Set的成员。

clear():清除所有成员,没有返回值。

原文链接: https://blog.csdn.net/hot_cool/java/article/details/83685046

map的对象只能是一个数组,最简单的创建方式是

var test = []//定义一个空数组

test.push()//给数组添加元素

test.map(function(e, i) {

    console.log(e)//e表示数组遍历的元素,i表示遍历的下标,也叫做key

})

另外一种创建数组的方式

var test = new Array()

1.数组转换成map键值对

var m=new Map()

var arr=['a','b','v','r']

for(var i=0i<arr.lengthi++){

m.set(arr[i],i)//转变成新的map键值对,也可以像原有键值对添加新得键值对,具有唯一性,当重复赋值,则会使用最后一个值

}

console.log(m)        //{"a" =>0,"b" =>1,"v" =>2,"r" =>3}

 console.log(m.get('a'))       //查看键值对a的值     0

console.log(m.has('c'))      //查看是否存在这个键值对,返回布尔类型的值     false

console.log(m.delete('r'))            //删除r键值对   返回布尔类型       true

console.log(m)              //{"a" =>0,"b" =>1,"v" =>2}