碎片时间学编程「352]:如果需要尽早突破,请使用 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
显然,代码没有经过优化,但它突出了数组方法的问题,例如 Array.prototype.forEach() 无法提前跳出循环。为了解决这个问题,我们可以使用 for 循环和提前返回:
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