欢迎光临散文网 会员登陆 & 注册

碎片时间学编程「352]:如果需要尽早突破,请使用 JavaScript for 循环

2023-06-28 12:34 作者:路条编程  | 我要投稿


现代 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


碎片时间学编程「352]:如果需要尽早突破,请使用 JavaScript for 循环的评论 (共 条)

分享到微博请遵守国家法律