javascript - 对数组使用 for ...of 可以吗?

标签 javascript arrays ecmascript-6

现在我们在 JS 中有一个 for...of 循环。它可以用于数组迭代而不是 for (let i = 0, len = array.length; i < len; i++) {...} 吗?无缝地或者是否有任何警告使将它用于数组是一种不好的做法?

最佳答案

是的,没关系。

好吧,除非你为 Symbol.iterator 指定了自定义值,但仍然希望循环从 0 到 length。

var arr = [1,2,3,4];
arr[Symbol.iterator] = function*() {
  yield "custom";
  yield "iterator";
};

console.log('Old for loop:');
for (let i = 0; i < arr.length; i++) console.log('    ', arr[i]);

console.log('New for-of loop:');
for (let item of arr) console.log('    ', item);

关于javascript - 对数组使用 for ...of 可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40074886/

相关文章:

JavaScript - 如何添加 2 个图像的 alpha 以使结果 alpha = 1?

javascript - 限制复选框,但仅限于新选中的复选框

javascript - 如何在 HTML 中定义 mustache 部分?

objective-c - 快速枚举比嵌套枚举中的 for 循环慢(带有测试结果)?

javascript - 为什么javascript ES6 Promises在解决后继续执行?

javascript - laravel-mix-polyfill require 未由 babel 处理的语句

javascript - 将数据转换为百分比 HighCharts

javascript - TypeScript-如何向数组中的每个对象添加键值对?

arrays - 在没有 “@{”的情况下获取单个属性

javascript - 带循环的 ES6 箭头符号