如何高效遍历数组的问题
两个长度为500的数组,数组的每一项都是一个对象:
//数组1
[
{
id: 123,
...
}
...
]
//数组2
[
{
itemId: 123,
value: 1,
...
}
...
]
数组1每一项的id和数组2某一项的itemId相等,数组1的项中没有value,需要把数组2每一项的value赋给数组1中id与itemId相等的项。请问怎么遍历最快?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
itemId
是唯一的吗?如果是可以考虑先把数组二变为以
itemId
为 Key 的字典结构,然后遍历数组一时直接从这个字典里取值就可以了。这样做时间复杂度是 O(n) (实际是 T(2n+1),但去掉常数项就是 O(n))。
应该没有可以做到 O(1) 的算法……吧……
两次循环