![](/img/trans.png)
[英]Javascript how do I document a variable that should be an Object of a specific type
[英]How do I target an object with a specific variable in javascript
我正在制作一款用户拥有不同身份证的在线游戏。
这是创建新玩家的客户端代码:
var newPlayer = function(id){
return player[player.length]={
x:0,
y:0,
id:id
}
}
newPlayer(50)
将创建ID为50的播放器。
如何根据其id
变量选择该播放器?
谢谢
JavaScript数组的存储可能很稀疏,因此您只需执行以下操作:
function newPlayer(id) {
return player[id] = { x:0, y: 0, id: id };
}
function findPlayer(id) {
return player[id];
}
这导致最差的O(log N) ,但可能接近O(1) ,以可能更多的存储为代价进行查找。
查克。
创建一个函数,迭代数组,一旦找到就返回
function findPlayer(id) {
for (var i = 0; i < player.length; i++) {
if (player[i].id == id) return player[i];
}
}
var player = [];
newPlayer(123);
newPlayer(234);
使用Underscore或Lodash(如果您愿意,可以使用vanilla JS):
var player123 = _.findWhere(players, { id: 123 });
等等。
如果您只搜索id,并且id在所有玩家中都是唯一的,则可以将玩家存储在键值对象而不是数组中:
function newPlayer(id) {
player[id] = { x: 0, id: id }
}
查询通过:
var player123 = player[123];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.