功能性编程:找出哪种功能更快的正确方法是什么?

问题描述 投票:0回答:1

我在代码中有两个函数,一个使用map(),另一个使用filter()

const eip = [...new Map(elasticIps.map(e  => [e.publicIp, e])).values()];

const eip = elasticIps.filter((v,i,a)=>a.findIndex(t=>(t.publicIp === v.publicIp))===i)

他们俩都对我做完全相同的事情,但是我不知道找出哪个更快的最好方法

javascript typescript performance functional-programming performance-testing
1个回答
1
投票

您可以为此使用console.time("label")console.timeEnd("label")

例如:

console.time("mapWay")
const eip = [...new Map(elasticIps.map(e  => [e.publicIp, e])).values()];
console.timeEnd("mapWay")

console.time("filterWay")
const eip = elasticIps.filter((v,i,a)=>a.findIndex(t=>(t.publicIp === v.publicIp))===i)
console.timeEnd("filterWay")

您将在console.time()中设置的标签的结果以ms为单位>

如果要使用某种工具检查基准,则可以使用:

https://jsben.ch/

© www.soinside.com 2019 - 2024. All rights reserved.