对象、Map、Set、WeakMap、WeakSet】的更多相关文章

概述 set和map属于es6的内容,今天在看书的时候遇到了,所以好好的总结一下,供以后开发时参考,相信对其他人也有用. 参考资料: mdn Keyed collections Map和WeakMap Map是一个键值对对象,它有2个特点: 它的键可以不局限于字符串,可以是任何类型. 你可以根据插入的顺序来遍历里面的数据. 示例如下: var haha = {a: 'a'}; var sayings = new Map(); sayings.set('dog', 'woof'); sayings…
Map对象 Map对象是一种有对应 键/值 对的对象, JS的Object也是 键/值 对的对象 : ES6中Map相对于Object对象有几个区别: 1:Object对象有原型, 也就是说他有默认的key值在对象上面, 除非我们使用Object.create(null)创建一个没有原型的对象: 2:在Object对象中, 只能把String和Symbol作为key值, 但是在Map中,key值可以是任何基本类型(String, Number, Boolean, undefined, NaN..…
上一篇文章讲了set和weakSet,这节咱就讲Map和weakMap是什么?这两篇文章并没有什么联系,主要知识用法类似而已.嘿嘿,是不是感觉舒服多了. 什么是Map 介绍什么是Map,就不得不说起Object对象,我们都知道Object对象是键值对的集合: //Object对象 {"name":"前端君","gender":1} ES5中的key键名的类型要求一定是字符串,当然,ES6已经允许属性名的类型是Symbol,前面的文章有所讲解 现在…
前言 JavaScript中对象的本质是键值对的集合,ES5中的数据结构,主要是用Array和Object,但是键只能是字符串.为了弥补这种缺憾,ES6带来了一种新的数据结构Map. Map也是键值对的集合,只是键不仅可以是字符串还可以是其他数据类型,比如:对象(是不是很神奇).请看下面例子..下面话不多说了,来一起看看详细的介绍吧. Map 对象 Map结构提供了“值—值”的对应,任何值(对象或者原始值) 都可以作为一个键或一个值,是一种更完善的Hash结构实现.如果你需要“键值对”的数据结构…
Map 和 WeakMap 是ES6 新增的数据结构 一.Map 它们本质与对象一样,都是键值对的集合,但是他们与 Object 对象主要的不同是,键可以是各种类型的数值,而Object 对象的键 只能是字符串类型或者Symbol类型值,Map 和 WeakMap 是更为完善的Hash结构. 1.对象 和 Map //----------- 对象 -------------- var keyObj = {} var dataObj = {} dataObj[keyObj] = '大家好' fun…
Map Map是一组键值对的结构,具有极快的查找速度. 一.构造函数不同 let map = new Map(); let weakmap = new WeakMap(); 二.内置函数不同 Map的API有: (1) Map.prototype.clear()(2) Map.prototype.delete()(3) Map.prototype.entries()(4) Map.prototype.forEach()(5) Map.prototype.get()(6) Map.prototyp…
Jquery遍历筛选数组的几种方法和遍历解析json对象|Map()方法详解 一.Jquery遍历筛选数组 1.jquery grep()筛选遍历数组 $().ready( function(){ var array = [1,2,3,4,5,6,7,8,9]; var filterarray = $.grep(array,function(value){ return value > 5;//筛选出大于5的 }); for(var i=0;i<filterarray.length;i++){…
一.创建Map对象 Map 对象保存键值对.任何值(对象或者原始值) 都可以作为一个键或一个值 1.构造函数 语法:new Map([iterable])参数:         iterable  可以是一个数组或者其他 iterable 对象,其元素或为键值对,或为两个元素的数组:每个键值对都会添加到新的 Map,null 会被当做 undefined let arr = [1,2,3]; let myMap = new Map(arr.entries()); console.log(myMa…
个人总结:在一个变量作用域中,如果结束到作用域结尾 } 的话,map中的引用会被垃圾回收机制回收的是weakmap ,map中的引用不会被垃圾回收机制回收的是map. 强引用:只要引用存在,垃圾回收器永远不会回收. 弱引用:会垃圾回收机制回收. { let  x  = { a:[1,2] }; var map = new Map(); map.set(x,'something'); } console.log(map); map是在{}这样的一个scope中定义的,但是map属于"强引用&quo…
Set 是 ES6 新增的有序列表集合,它不会包含重复项. Set 支持 add(item) 方法,用来向 Set 添加任意类型的元素,如果已经添加过则自动忽略: has(item) 方法用来检测 Set 中是否存在指定元素: delete(item) 方法用来从 Set 中删除指定元素: clear() 用来清空 Set: 获取 Set 集合长度用 size 属性. Map 是 ES6 新增的有序键值对集合.键值对的 key 和 value 都可以是任何类型的元素. 通过 set(key, v…