如何在javascript中使用特定变量来定位对象
How do I target an object with a specific variable in javascript
我正在制作一个在线游戏,用户有不同的ID。
以下是创建新玩家的客户端代码:
var newPlayer = function(id){
return player[player.length]={
x:0,
y:0,
id:id
}
}
CCD_ 1将创建具有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);
使用Undercore或Lodash(或者香草JS,如果你喜欢的话):
var player123 = _.findWhere(players, { id: 123 });
等等。
如果你只按id搜索,并且id在所有玩家中是唯一的,你可以将玩家存储在键值对象中,而不是数组中:
function newPlayer(id) {
player[id] = { x: 0, id: id }
}
查找方式:
var player123 = player[123];
相关文章:
- 将函数的上下文应用于javascript变量
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- 将PHP变量传递给jQuery时遇到问题
- 如何通过ajax刷新JSF填充的javascript变量
- CSS-如何定位内容数据标题
- 参数变量出现ngTable指令问题
- 通过javascript重定向html传递php变量
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 全局变量和全局对象的属性之间有什么区别吗
- 使用数据属性通过 jquery 定位和更新变量
- 使用地理定位和地理编码来定位用户'的城市,并将其分配给一个变量
- 使用jquery 1.4或javascript,如何使用变量定位特定链接
- 如何使用jquery定位javascript变量
- 地理定位函数中的JavaScript变量范围
- 变量从某处传递到地理定位函数
- HTML5地理定位将当前GPS位置的长宽坐标转换为一个变量
- 发送窗口.定位到一个变量,该变量是字符串形式的URL
- 使用 Javascript 变量中的值定位元素
- 如何在javascript中使用特定变量来定位对象