1、传统的写法,这种需要自己去控制内部的状态。为了可以实现对象的遍历,我们需要在对象上实现上面说的迭代器。
2、另外一种是利用生成器函数返回的Generator的迭代器来实现。
实例
import java.util.ArrayList; import java.util.Iterator; import java.util.List; //迭代器的两种方法 public class test { public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("张三"); list.add("李四"); list.add("王五"); list.add("二丫"); list.add("钱六"); list.add("孙七"); Iterator<String> it = list.iterator(); while (it.hasNext()) { System.out.println(it.next()); } for (Iterator <String>iterator = list.iterator(); iterator.hasNext();System.out.println(iterator.next())){ 迭代器的第二种写法 } }
以上就是Javascript迭代器的两种写法,希望对大家有所帮助。更多Javascript学习指路:
推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。
桦陀教育还为您提供以下相关内容希望对您有帮助:
foreach和map的区别是什么?
在JavaScript编程中,foreach和map是两个常用的迭代器,它们各自具有不同的特性和用途。主要的区别如下:速度差异:通常情况下,map函数由于其内部逻辑处理,执行速度要比简单的foreach循环更快,尤其是在处理复杂操作时。 数组操作:map会创建一个新的数组,对原数组进行操作,而不会改变原数组,这使得m...
javaScript ES6 笔记(二)
在JavaScript ES6中,迭代器(Iterator)和生成器(Generator)是两个强大的工具,它们简化了数据的遍历和处理。迭代器是一种特殊对象,拥有next()方法,每次调用返回一个包含value和done属性的结果,值表示当前元素,done标识是否遍历结束。生成器则是一种返回迭代器的函数,通过yield关键字控制执行流程,执行...
关于javascript循环的问题。
1.for循环:for循环是最常用的循环结构之一,它可以按照指定的条件重复执行一段代码。for循环由三个部分组成:初始化表达式、循环条件和循环迭代器。例如:for (var i = 0; i < 5; i++) { console.log(i);} 上述代码会输出0到4的数字。 2. while循环:while循环会在指定条件为真时重...
10种最新JavaScript语法让你:爽快编码
对象迭代器提供keys、values、entries方法,分别用于获取键名、值、键值对。可选链操作符?.在处理不可预测数据时,避免了访问不存在属性引发的错误。空值合并运算符??用于合并默认值,适用于处理null和undefined。逻辑与赋值 逻辑与赋值(&&=)在变量为真时执行赋值操作,逻辑或赋值(||=)在变量为假时执行...
JavaScript数组方法
fill()方法用于填充数组元素,指定值替换所有元素。indexOf()寻找元素位置,ES5支持查找数组中的特定元素。3. 判断与转换数组isArray()判断对象是否为数组,ES5提供判断功能。join()和toString()用于将数组转换为字符串,前者使用分隔符。keys()和values()分别返回键和值的迭代器。4. 动态数组操作的...
JavaScript 数据结构之 Map
迭代键值对:`myMap.entries()` 生成迭代器,顺序与插入顺序一致。清空所有:`myMap.clear()`,返回 undefined。Map 还可以与数组、对象转换,例如转为数组使用扩展运算符,转为 JSON 需先转为对象再用 `JSON.stringify()`。尽管 Object 和 Map 有相似之处,但 Map 的键类型更灵活,特别适合键值...
使用率比较低的十大冷门JavaScript - API
Reflect APIReflect API支持元编程,如动态调用对象方法或构造函数,扩展了JavaScript的灵活性。Generator APIGenerator API生成迭代器,用于异步操作和惰性计算,提高代码性能。Web Workers在后台线程中执行JavaScript的Web Workers,适用于处理计算密集任务或避免阻塞用户界面。AudioContextAudioContext是音频处理的工具...
如何改进javascript代码的性能_javascript技巧
3.1 减值迭代我们写迭代器(循环条件)的时候一般都这样(var i = 0;i < 10;i ++),从0开始,增加到某个特定值。然而在很多情况下,如果在循环中使用减值迭代器效率更高。我测试了下,如果循环体不复杂的话,两者差不多!3.2 简化终止条件由于每次循环都会计算终止条件,所以必须保证它的执行尽可能地块。这里主要是...
使用率比较低的十大冷门JavaScript - API
Object.entries()和Object.values()获取对象可枚举属性和值,方便数据处理。IntersectionObserver检测元素进入视口,实现无限滚动、懒加载等功能。Symbol创建唯一标识符,定义对象的私有属性或方法。Reflect API实现元编程,动态调用对象方法或构造函数。Generator API生成迭代器,实现异步操作或惰性计算。Web Workers...
ES6生成器,看似同步的异步流程控制表达风格
迭代器接口 迭代器接口定义了从生成器获取值的方式。每次调用next(),都会返回一个包含值和完成状态的对象。JavaScript的迭代器接口允许我们逐步获取生成器产生的所有值。可迭代对象 一个可迭代对象(iterable)是一个可以迭代的集合,具有返回迭代器的方法。在ES6中,可迭代对象需要支持Symbol.iterator方法,...