1w条数据,遍历效率
1、for
15s
let t=(new Date()).getTime()
let a=[]
for(var i = 0; i < 100000; i++){
a.push({id:i,val:i})
}
let ts=[]
for(var i = 0; i < a.length; i++){
if(a[i].val!=2 && a[i].val!=4 && a[i].val!=8){
ts.push(a[i])
}
}
let c=(new Date()).getTime()
console.log(c-t,t,c,ts)//15
2、map
14s
let t=(new Date()).getTime()
let a=[]
for(var i = 0; i < 100000; i++){
a.push({id:i,val:i})
}
let ts=[]
a.map(x=>{
if(x.val!=2 && x.val!=4 && x.val!=8){
ts.push(x)
}
})
let c=(new Date()).getTime()
console.log(c-t,t,c,ts)//14
3、forEach
19s
let t=(new Date()).getTime()
let a=[]
for(var i = 0; i < 100000; i++){
a.push({id:i,val:i})
}
let ts=[]
a.forEach(x=>{
if(x.val!=2 && x.val!=4 && x.val!=8){
ts.push(x)
}
})
let c=(new Date()).getTime()
console.log(c-t,t,c,ts)//19
4、filter+forEach
21s
let t=(new Date()).getTime()
let a=[]
for(var i = 0; i < 100000; i++){
a.push({id:i,val:i})
}
let ts=[]
a.filter(x=>x.val!=2 && x.val!=4 && x.val!=8).forEach(x=>{
ts.push(x)
})
let c=(new Date()).getTime()
console.log(c-t,t,c,ts) //21
5、filter+map
35s
let t=(new Date()).getTime()
let a=[]
for(var i = 0; i < 100000; i++){
a.push({id:i,val:i})
}
let ts=[]
a.filter(x=>x.val!=2 && x.val!=4 && x.val!=8).map(x=>{
ts.push(x)
})
let c=(new Date()).getTime()
console.log(c-t,t,c,ts) //35
```