我在代码中有两个函数,一个使用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()
中设置的标签的结果以ms为单位>
如果要使用某种工具检查基准,则可以使用: