首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

JS基础:Map和Set对象

本章节复习的是JS中的Map和Set对象,是个集合。 前置知识: Map和Set对象是在ES6中被引入的,作为一种由 key值标记的数据容器。...Map和Set对象承载的数据元素可以按照插入时的顺序,被迭代遍历。 1 Set对象 介绍: Set数据结构类似数组,但所有成员的值唯一。...对象只能用字符串当做键,给开发带来很大限制,ES6增加 Map数据结构,使得各种类型的值(包括对象)都可以作为键。...基础使用: let a = new Map(); let b = {name: 'leo' }; a.set(b,'my name'); // 添加值 a.get(b); // 获取值...a.size; // 获取总数 a.has(b); // 查询是否存在 a.delete(b); // 删除一个值 a.clear(); // 清空所有成员 无返回 注意: 传入数组作为参数

12.3K31

如何Map对象创建Set对象

Java中的Map和Set有不少相似之处。本文将分享一个把Map类转化成Set类的小技巧。...Map并不支持直接用迭代器进行遍历,因此下面的这段代码编译无法通过: ? 我们可以通过遍历Map中的key集合、value集合和entry集合来实现Map的遍历。...后来我发现,Java 6中的java.util.Collections类提供了一个newSetFromMap()方法,该方法能够基于指定的Map对象创建一个新的Set对象。...在创建这个Map对象时,K的数据类型必须与你想要创建的Set中元素的数据类型一致;而V必须是Boolean类型的,这是因为value字段用于标记该元素是否存在。 ?...当然,newSetFromMap()方法只能返回标准Set接口类型的对象。如果你的Map类有着更丰富的接口(与标准Map接口相比),你还是需要自行封装实现对应的Set类。

1.3K10

如何Map对象创建Set对象

Java中的Map和Set有不少相似之处。本文将分享一个把Map类转化成Set类的小技巧。...我经常看到程序员这样遍历Map:先获取keySet,然后对keys进行遍历,并通过get()方法找到对应的value。 ?...后来我发现,Java 6中的java.util.Collections类提供了一个newSetFromMap()方法,该方法能够基于指定的Map对象创建一个新的Set对象。...在创建这个Map对象时,K的数据类型必须与你想要创建的Set中元素的数据类型一致;而V必须是Boolean类型的,这是因为value字段用于标记该元素是否存在。 ?...当然,newSetFromMap()方法只能返回标准Set接口类型的对象。如果你的Map类有着更丰富的接口(与标准Map接口相比),你还是需要自行封装实现对应的Set类。

1.3K10

JS获取事件对象获取事件的源对象(Firefox,IE)

做笔记,以防自己忘记~~ JS获取事件event,不同浏览器有不同的做法。 例如IE下,在js函数中,通过window.event就可以获取,不必在函数中添加什么参数。...还是使用JS库比较好,不然就有下边的麻烦。...感觉这个挺好,可以捕获当前事件作用的对象,如event.srcElement.tagName可以捕获活动标记名称。注意获取的标记都以大写表示,如"TD","TR","A"等。...在 ie中处理事件直接使用window.event对象即可,但在firefox中,是没有 window.event对象的,函数需要使用事件的时候,需要在事件发生时把事件作为参数传递给函数,不象在ie...中,事件对象是全局的,随处都可以访 问.下面这个getEvent()函数可以兼容firefox和ie,只需要在访问事件对象的函数的开始调用getEvent()即可,不用再把事件作为 参数传递.以下代码已经实验通过

10K50

JS遍历对象获取key:value

1、使用Object.keys()遍历 返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含Symbol属性) var obj={"1":"a","2":"b"} Object.keys(...,其排列与使用 for…in 循环遍历该对象时返回的顺序一致(区别在于 for-in 循环也枚举原型链中的属性)。...3、使用Object.getOwnPropertyNames(obj)遍历 返回一个数组,包含对象自身的所有属性(不含Symbol属性,但是包括不可枚举属性) var obj={"1":"a","2":...对象声明: 1.var obj = {}//字面量,建议这种方式(方便初始化赋值) 2.var obj = new Object(); 对象赋值: 1.obj.name = "zhangsan" 2....obj["name"] = "zhangsan" 访问对象属性值: 1.obj.name 2.obj["name"] ==》底层转化为这种,所以建议使用 删除对象中的属性: delete

26.7K11

jsmap遍历数组对象_js遍历数组

forEach()和map()都是遍历数组的方法,用法类似,但是还是有很大区别: 相同点:       1.都是循环遍历数组中的每一项;       2.在遍历中执行匿名函数都可以接收三个参数,分别为...arr.forEach(function(i,index,arr){ sum += i; console.log("sum的值为:",sum); }) //执行5次,最终结果 10 ** js...中 map 遍历数组 ** map 方法会迭代数组中的每一个元素,并根据回调函数来处理每一个元素,最后返回一个新数组。...在我们的例子中,回调函数只有一个参数,即数组中元素的值 (val 参数) ,但其实,你的回调函数也可以支持多个参数,譬如:元素的索引index、原始数组arr。...例子:使用 map 方法来为 oldArray 中的每一项增加3,并且在 newArray 中保存它们。 oldArray 不应该被改变。

19.4K30
领券