编程技术文章分享与教程

网站首页 > 技术文章 正文

碎片时间学编程「205]:如果想提前跳出循环,请使用 JS for 循环

hmc789 2024-11-27 14:48:47 技术文章 2 ℃


如果你需要提前跳出循环,请使用 JavaScript for 循环


现代 JavaScript 中不起眼的 for 循环的用处很少被提及。除了它在异步操作场景中特别有用之外,如果您需要尽早跳出循环,它还可以使您的代码性能更高。考虑以下示例:

const smallArray = [0, 2];const largeArray = Array.from({ length: 1000 }, (_, i) => i);
const areEqual = (a, b) => {  let result = true;  a.forEach((x, i) => {    if (!result) return;    if (b[i] === undefined || x !== b[i]) result = false;  });  return result;}
areEqual(largeArray, smallArray); // false// 将遍历 `largeArray` 中的所有项目


很明显,代码没有优化,但是突出了数组方法的问题,比如 Array.prototype.forEach() 无法提前跳出循环。为了解决这个问题,我们可以使用一个 for 循环和一个 early return 来代替:

const smallArray = [0, 2];const largeArray = Array.from({ length: 1000 }, (_, i) => i);
const areEqual = (a, b) => {  for (let i in a) {    if (b[i] === undefined || a[i] !== b[i]) return false;  }  return true;}
areEqual(largeArray, smallArray); // false
// 只会循环直到遇到第一个不匹配


更多内容请访问我的网站:https://www.icoderoad.com

标签列表
最新留言