小程序缓存数据循环慢问题?
发布于 7 年前 作者 fenglei 12004 次浏览 来自 问答

小程序缓存中有两个缓存数据,类型为Array。长度分别为A.length = 21,B.length =225,当嵌套循环这两个数组提取数据时候(把相同Id的提取出作为一个数组), for(var i = 0; i<A.length;i++){

for(var j = 0;j<B.length;j++){

if(A.id == B.id){ arr.push(B)}

}

console.log(arr)

}

打印结果好慢啊

1 回复
onLoad: function () {
 
  let a = [{ id: 1 }, { id: 2 }, { id: 3 }, { id: 4 }, { id: 5 }];
  let b = [{ id: 1 }, { id: 2 }, { id: 3 }, { id: 4 }, { id: 5 }, { id: 6 }, { id: 7 }];
  let arr = [...a].filter(x => [...b].some(y => x.id === y.id))
  console.log(arr)
},
这样写试试看会不会快一点。
回到顶部