在JavaScript中使用Break VS Find()的For循环 [英] for loop with break vs find() in JavaScript

查看:0
本文介绍了在JavaScript中使用Break VS Find()的For循环的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚看到有人写了这个:

let id = 1;
...
let employee = null;

for (const e of employees) {
    if (e.id === id) {
        employee = e;
        break;
    }
}

这似乎是一种过于复杂的写法:

let id = 1;
...
let employee = employees.find(e => e.id === id);

使用breakfind()的循环有什么好处吗?

find()幕后的实现是什么?

推荐答案

性能

.find()for...break快。

查看this link以查看测试结果。for...break.find()慢30%


.find()源代码here

.find()在IE11及更早版本的浏览器中不受支持。您需要改用多边形填充。


意见

.find()由于复杂程度和使用的内部算法,.find()更好。使用for...break,您将始终执行线性搜索,这意味着n * n个重复。数组越大,函数执行速度越慢。

这篇关于在JavaScript中使用Break VS Find()的For循环的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆