总之,如果你想遍历数组或其他可迭代对象的值,使用for…of;如果你想遍历对象的属性,使用for…in。 for…of 遍历数组的陷阱: 当使用for...of循环来遍历数组时,我们通常是为了遍历数组的元素,而不是索引。然而,在使用for...of循环时,有一些常见陷阱需要避免,特别是关于循环索引和遍历顺序的问题。下面是如何正确使用...
Array+length: Number+push(element) : void+pop() : element+forEach(callback) : voidExample+fruits: Array+logFruits() : void 结论 通过本文的讲解,你现在应该对 JavaScript 的for...of循环有了一个基本的理解。你学习了如何定义一个数组、使用for...of遍历数组中的元素,并对这些元素进行处理。这种方法...
for…of 语句在可迭代对象(包括 Array,Map,Set,String,TypedArray,arguments 对象等等)上创建一个迭代循环,调用自定义迭代钩子,并为每个不同属性的值执行语句。for...of循环直接用来遍历属性值,不是遍历键名和下标。 ES6 之前的 3 种 for 循环都各有缺点,forEach 不能中断和返回;for-in不仅遍历数组中的元素,还...
for in适合遍历对象,for of适合遍历数组。for in遍历的是数组的索引,对象的属性,以及原型链上的属性。 for of除了能够遍历真数组、字符串、ES6的Set、Map集合还能遍历伪数组(NodeList);
js for of原理 它提供了一种简洁的方式来处理集合中的元素。可迭代对象具有特定的迭代器协议。forof 会自动调用迭代器的 next 方法获取下一个元素。迭代器返回的对象包含 value 和 done 两个属性。当 done 为 true 时,表示迭代结束。常见的可迭代对象如数组、字符串等都可以使用 forof 。它与传统的 for 循环...
for...of 语句执行一个循环,该循环处理来自可迭代对象的值序列。可迭代对象包括内置对象的实例,例如 Array、String、TypedArray、Map、Set、NodeList(以及其他 DOM 集合),还包括 arguments 对象、由生成器函数生成的生成器,以及用户定义的可迭代对象。
Javascript 中的数组与大多数其他语言中的数组不同。首先,Javascript 中的数组在内存中不是连续的。 其次,Array 的索引不是指偏移量。其实Array的索引不是Number类型,而是String类型。之所以能正确使用 arr[0] 之类的写法,是因为语言可以自动改变 Number 类型。0 转换为 String 类型的“0”。
在for of中可以使用breakcontinue操作符结束或终止迭代,这使其超越forEach方法。 注意事项 for of虽然好用,但要注意下面的几个问题: 不能直接遍历对象。对象没有实现迭代器接口,直接遍历会抛出异常。如果想遍历对象的属性,可以先通过Object.keys()方法获取对象的属性列表,然后再遍历。
key, '->', value)}// a -> 1// b -> 2// c -> 3 JavaScript 提供其它几种循环如 forEach、for...in 方式。对于 forEach,无法中途跳出循环,break 命令或 return 命令都不能奏效;对于 for...in,循环遍历数组得到的键名是数字,且会遍历原型链上的键。然而 for...of 循环没有以上缺点。
```javascript const str = "Hello"; for (let char of str) { console.log(char); } // Output: // H // e // l // l // o ``` 3.遍历可迭代对象: 除了数组和字符串之外,还有一些类数组对象也是可迭代的,如Set、Map等等。对于这些对象,我们同样可以使用for...of循环进行遍历。 ```javascr...