我有一个被称为玩家的对象数组,经常排序(所以某个玩家的索引每轮都会改变)。两位选手完成比赛后,我想用新的比分更新他们的对象。我能想到的唯一办法做到这一点(我是新来的Javascript)是O(n)的算法:编辑元素的阵列
function updatePlayer(player){
for(var i=0;i<players.length;i++)
{
if(players[i].name === player.name)
players[i] = player;
}
}
我知道阵列具有O(1)访问时间,有一些功能,我可以使用减少这个顺序(或许甚至完全不需要这个功能)?
有用的信息:
- 我是相当新的JavaScript,因此更好的答案是一个详细解释了/我学到最多。
- 我还没有玩过jQuery,所以避免这种情况的解决方案是可取的。如果没有jQuery没有办法做到这一点,我猜我必须学习它。
这可能是最好的答案。不幸的是,它并没有帮助学习Javascript,但嘿,它仍然很好。 – SomeKittens 2012-03-20 22:44:58