用一遍就知道: entries(): 调用entries方法会返回一个iterator(迭代器),关于iterator/iterable可以参见MDN,简单点说就是返回了一个可以遍历的对象,而这个对象实现了...iterable protocal,所以需要用for...of遍历,所以我们可以: var divs = document.querySelectorAll('div'); for(var item of...keys(): 返回一个iterator用于遍历NodeList的key: var divs = document.querySelectorAll('div'); for (var key of list.keys...values(): 和keys()类似,返回一个iterator用于遍历NodeList的value,即html元素: var divs = document.querySelectorAll('div...通过对NodeList的研究我们发现,NodeList和Array没有继承关系,但是都有length属性和forEach方法,而且拥有几个特有的方法,主要都是用来遍历和取值用的。
为什么有时候返回HTMLCollection ,有时候返回NodeList? HTMLCollection 和 NodeList 的区别又是什么?带着这些问题进入本篇的学习。...DOM提供两种集合对象,用于实现这种节点的集合:NodeList和HTMLCollection。 HTMLCollection 是表示 HTML 元素的集合。...对象 HTMLCollection只能包含 元素节点(ElementNode)类型的节点, 以下方法返回HTMLCollection对象 document.getElementsByClassName...HTMLCollection.namedItem(name) 或 HTMLCollection[name] 使用示例,以下两种方法都可以 // namedItem 根据id 或name属性取值 console.log...与NodeList区别 HTMLCollection 是表示 HTML 元素的集合,元素也是节点的一种,也就是元素节点,NodeList 是表示节点的集合 我们可以理解为 HTMLCollection
遍历及使用 在上面的章节 , 通过 调用 Document 或 Element 的 getElementsByTagName 函数 , 可以获取到 封装了多个 Element DOM 元素的 HTMLCollection...对象 ; HTMLCollection 对象是 时刻 动态改变的 , 如果 HTML 文档结构发生了改变 , HTMLCollection 对象会进行自动更新 , 如果要操作 HTMLCollection...; var elements = document.getElementsByTagName("div"); // 遍历 HTMLCollection 中封装的 DOM...document.getElementsByTagName("div"); // 控制台打印获取结果 console.log(elements); // 遍历...element.getElementsByTagName("div"); // 控制台打印获取结果 console.log(elements); // 遍历
(2) [div.t2, div.t2] // 使用for循环遍历 for(let i=0,n=t2List.length;i<n;++i) console.log(t2List[i])...; // HTMLCollection的prototype中没有forEach方法,遍历需要使用Array的prototype中forEach通过call绑定对象实例并传参 Array.prototype.forEach.call...document.getElementsByName("t3"); console.log(t3List); // NodeList(2) [div, div] // 可直接使用forEach进行遍历...(2) [div.t2, div.t2] // 使用for循环遍历 for(let i=0,n=t2List.length;i<n;++i) console.log(t2List[i])...; // HTMLCollection的prototype中没有forEach方法,遍历需要使用Array的prototype中forEach通过call绑定对象实例并传参 Array.prototype.forEach.call
NodeList 对象类似 HTMLCollection 对象。...document.querySelectorAll("p"); 显示节点列表的元素个数: document.getElementById("demo").innerHTML = myNodelist.length; length 属性常用于遍历节点列表...与 NodeList 的区别 HTMLCollection 是 HTML 元素的集合。...NodeList 与 HTMLCollection 有很多类似的地方。...NodeList 与 HTMLCollection 都有 length 属性。 HTMLCollection 元素可以通过 name,id 或索引来获取。 NodeList 只能通过索引来获取。
---- HTMLCollection 对象 getElementsByTagName() 方法返回 HTMLCollection 对象。...HTMLCollection 对象类似包含 HTML 元素的一个数组。...访问第二个 元素可以是以下代码: y = x[1]; HTMLCollection 对象 length 属性 HTMLCollection 对象的 length 属性定义了集合中元素的数量。...document.getElementsByTagName("p"); 显示集合元素个数: document.getElementById("demo").innerHTML = myCollection.length; 集合 length 属性常用于遍历集合中的元素...HTMLCollection 看起来可能是一个数组,但其实不是。 你可以像数组一样,使用索引来获取元素。
文档 : https://developer.mozilla.org/zh-CN/docs/Web/API/HTMLCollection getElementsByClassName 文档 : https...document.getElementsByClassName("box"); // 控制台打印获取结果 console.log(elements); // 遍历...HTMLCollection 中封装的 DOM 元素 for (var i = 0; i < elements.length; i++) { // 打印 DOM...element.getElementsByClassName("box"); // 控制台打印获取结果 console.log(elements); // 遍历...HTMLCollection 中封装的 DOM 元素 for (var i = 0; i < elements.length; i++) { // 打印 DOM
文档 : https://developer.mozilla.org/zh-CN/docs/Web/API/HTMLCollection getElementsByClassName 文档 : https...对象 的区别是 : HTMLCollection 对象会实时更新 , 如果其中的 DOM 元素发生了改变 , HTMLCollection 对象会马上进行更新 ; NodeList 对象 是静态的 ,...querySelectorAll NodeList 对象 : https://developer.mozilla.org/zh-CN/docs/Web/API/NodeList 使用数组下标的方式 , 可遍历...document.querySelectorAll('#nav div'); // 控制台打印获取结果 console.log(elements); // 使用数组下标方式遍历...document.querySelectorAll('#nav div'); // 控制台打印获取结果 console.log(elements); // 使用数组下标方式遍历
标题遍历ArrayList 1.使用 For-Each 遍历 List 2.把链表变为数组相关的内容进行遍历 3.使用迭代器进行相关遍历(这个最好) import java.util.*; // first...ite = list.iterator(); //判断下一个元素之后有值 while(ite.hasNext()) { System.out.println(ite.next()); } 遍历...Map 1.普通遍历 2.使用迭代器 3.大量数据遍历 4.只对value进行操作 key—— keySet(); 获取key value——get(key); 用key拿value values
广度遍历叫层次遍历,一层一层的来就简单了。...前序遍历,中序遍历,后序遍历的区别就是根在前(根左右),根在中(左根右),根在后(左右根) 在最后补全所有源码 二 广度优先遍历 层次遍历 //广度优先遍历 层次遍历 public...= null) { queue.offer(t.rightChild); } } } 三 前序遍历 //前序遍历...)遍历*****************"); bt.preOrder(bt.root); System.out.println("*******(中序遍历)遍历***...**************"); bt.inOrder(bt.root); System.out.println("*******(后序遍历)遍历**********
HTMLCollection 还有一点需要注意: HTMLCollection 对象是一种类数组对象,可以通过位置来访问。...请注意,虽然可以通过方括号语法来访问 HTMLCollection 的值,而且这个对象也有length属性,但是它并不是Array的实例。...下面几种方法都可以实现: 扩展运算符可以将其转为真正的数组,这个里面也是有一点需要注意,是因为 HTMLCollection 对象实现了 Iterator。...non-iterable object. let arr = [...arrayLike]; Array.from:用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历...参考资料 [1] HTMLCollection: https://developer.mozilla.org/zh-CN/docs/Web/API/HTMLCollection [2] ECMAScript
Array.prototype.push, splice : Array.prototype.splice } 注:若类数组对象没有写push方法,则调用时即会报错 常见的类数组有 arguments 和 HTMLCollection...arguments); } var list1 = list(1, 2, 3); // [1, 2, 3] 方法二: Array.from() 是ES6中新增的方法,可以将两类对象转为真正的数组:类数组对象和可遍历...'1':'b', '2':'c', length:3 }; var arr = Array.from(arrayLike);//['a','b','c'] //demo2 // 把HTMLCollection...同样是ES6中新增的内容,扩展运算符(…)也可以将某些数据结构转为数组 //arguments对象的转换 function list(){ return [...arguments]; } //HTMLCollection...对象的转换 [...document.getElementsByTagName('p')] 扩展运算符实际上调用的是遍历器接口,如果一个对象没有部署此接口就无法完成转换
不同点(主要表现在HTMLCollection比NodeList能力更强大): 1....注意:IE9、10、11的HTMLCollection与其他浏览器的HTMLCollection可不相同哦,具体请看下一节吧!...八、HTMLAllCollection——HTMLCollection的子类 IE11、Chrome开始,document.all将返回HTMLCollection子类...HTMLAllCollection的对象,其行为特征和HTMLCollection一致。...通过for in 遍历dataset的属性; ⑥. 属性值必须或将自动转换为String类型; ⑦.
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内...
HashMap遍历以及遍历顺序 HashMap是Java语言中一种键值对(key-value)数据结构,但不记录key的插入顺序,如果要按照插入顺序进行遍历,则需要使用LinkedHashMap类型。...本文将介绍下HashMap的三种遍历方式,LinkedHashMap遍历方式相同! (在leetcode12. 整数转罗马数字题目中使用到HashMap遍历,遂做此记录!)...1、map.entrySet()遍历key-value for (Map.Entry entry : map.entrySet()){ System.out.println...(key); } // 遍历结果为 C D V X I L M 3、map.values()仅遍历值 for (Integer value : map.values()){ System.out.println...(value); } // 遍历结果为 100 500 5 10 1 50 1000 如果需要按照插入key值的顺序遍历,则需要使用LinkedHashMap结构!!!
类似数组遍历 for...of 除了可以遍历对象外,还可以遍历类似数组的对象。 arguments是函数体内的特殊变量,表示包含函数的所有参数,arguments 也是一个类似数组对象。...字符串字符的遍历 JavaScript 中的原始类型字符串是可迭代的。因此,我们可以轻松地遍历字符串的字符。...遍历普通 JavaScript 对象 遍历普通 JS 对象的属性/值对总是很痛苦的。...然后,对于for...of循环,遍历元组,并将每个元组解构const [prop,value]。 7.遍历 DOM 集合 你可能知道在 DOM 中使用HTMLCollection是多么令人沮丧。...因为HTMLCollection是一个类似数组的对象(而不是一个常规数组),所以我们不能使用常规数组方法。 例如,每个 DOM 元素的children属性都是HTMLCollection。
entry:list){ linkedHashMap.put(entry.getKey(),entry.getValue()); } return linkedHashMap;} HashMap的遍历..."); map.put("2", "value2"); map.put("3", "value3"); //第一种:普遍使用,二次取值 System.out.println("通过Map.keySet遍历...("key= "+ key + " and value= " + map.get(key)); } //第二种 System.out.println("通过Map.entrySet使用iterator遍历...entry.getKey() + " and value= " + entry.getValue()); } //第三种:推荐,尤其是容量大时 System.out.println("通过Map.entrySet遍历..." + entry.getKey() + " and value= " + entry.getValue()); } //第四种 System.out.println("通过Map.values()遍历所有的
如果已知前序遍历和中序遍历,那么肯定能够求出后序遍历。正常的思路就是,根据前序遍历和中序遍历,我们把二叉树的结构给描述出来,然后再使用后序遍历。...但是假设我们的遍历顺序存放在数组中,那么我们大可不必那么麻烦。下面就是针对数组求后序遍历的算法,代码如下,大家供参考。...#include //前序遍历:根左右 //中序遍历:左根右 //后序遍历:左右根 //在前序遍历和中序遍历的基础上,我们从前序遍历中找出根节点,然后从中序遍历中找出根节点的左右分支
前序遍历 前序遍历(DLR),是二叉树遍历的一种,也叫做先根遍历、先序遍历、前序周游,可记做根左右。前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。...(2)前序遍历左子树。 (3)前序遍历右子树 。 ? 前序遍历 需要注意的是:遍历左右子树时仍然采用前序遍历方法。...如右图所示二叉树 前序遍历结果:ABDECF 已知后序遍历和中序遍历,就能确定前序遍历。 中序遍历 中序遍历(LDR)是二叉树遍历的一种,也叫做中根遍历、中序周游。...在二叉树中,中序遍历首先遍历左子树,然后访问根结点,最后遍历右子树。 中序遍历首先遍历左子树,然后访问根结点,最后遍历右子树。...后序遍历首先遍历左子树,然后遍历右子树,最后访问根结点,在遍历左、右子树时,仍然先遍历左子树,然后遍历右子树,最后遍历根结点。
在讲深度优先遍历之前,先来回顾一下图这种数据结构。 1. 是什么? 图,也是一种数据结构,其节点可以具有零个或者多个相邻元素,两个节点之间的连接称为边,节点也称为顶点,图表示的是多对多的关系。 ?...无向图的遍历: (1). 遍历分类: 图的遍历分为两种: 深度优先:depth first search,简称DFS。...类似于二叉树的层序遍历,具体的本文不做介绍。 (2). 深度优先算法步骤: 以开篇中的图为例: 访问A,并将A标记为已访问; 找到A的第一个未被访问邻接顶点,怎么找?...看矩阵: A B C D E F G H A[0, 1, 0, 0, 0, 1, 0, 1] 第一个1对应的是B,所以A的第一个邻接顶点是B,所以第二个遍历出来的是B,并且标记B为已访问...比如我要找A的第一个邻接顶点,那就遍历A所在的那一行,找到第一个1出现位置的索引,该索引对应的就是A的第一个邻接顶点。
领取专属 10元无门槛券
手把手带您无忧上云