找出哪个功能更快的正确方法是什么?
What is the right way to find out which function is faster?
我在一段代码中有两个函数,一个使用 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)
他们都为我做了完全相同的事情,但我不知道找出哪个更快的最佳方法
您可以使用 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()
中设置的标签,您将获得以毫秒为单位的结果
如果你想使用一些工具来检查基准,你可以使用:
我在一段代码中有两个函数,一个使用 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)
他们都为我做了完全相同的事情,但我不知道找出哪个更快的最佳方法
您可以使用 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()
如果你想使用一些工具来检查基准,你可以使用: