哪一个效果更快?考虑数组中的数千条记录,因此在 Javascript 中执行映射、过滤器和查找函数之后
var folks = [
{name: "Nill", age: "20", occupation: "delinquent"},
{name: "John", age: "3", occupation: "delinquent"},
{name: "Bob", age: "32", occupation: "developer"},
{name: "Bill", age: "17", occupation: "delinquent"},
{name: "Bob", age: "40", occupation: "yes"}
]
var i;
const b1=folks.map( fella => {
if(fella.name == "Bob"){
i= fella
}
})
console.log(i)
const a=folks.find( fella => fella.name === "Bob")
console.log(a)
const b=folks.filter( fella => fella.name === "Bob")
console.log(b)
对于 JavaScript 中的
map()
、filter()
或 find()
哪个更快的问题,最简单的答案是 find()
。
原因如下:
想象一下你正在玩捉迷藏。地图会检查每个藏身点,即使它立即找到你要找的人。过滤器也会遍历每一个可能的地方,确保没有一个人掉队。但找到是最快的。一旦找到人,它就会停止寻找。因此,如果您只需要第一个匹配项,请使用 find。它不会浪费时间,而且很快就能得到结果。