javascript - 有没有办法在不知道位置但属性的情况下从数组中删除对象?
问题描述
我是新来的,我真的很想问你是否可以在事件中删除特定对象。实际上,我正在编写的游戏有 2 个主要事件:.onPlayerJoin
和.onPlayerLeave
. 我设置了这个,所以当玩家加入时,它会在已经声明的对象数组中创建一个带有name
,id
的对象。auth
当玩家离开时,我希望删除该对象!我正在为此苦苦挣扎,因为主要问题是在不知道位置的情况下删除该对象。此外,对象没有名称(除了在内部声明新对象.onPlayerJoin
)。
我会在这里给你一些代码:
var playerz = [];
room.onPlayerJoin = function (player) {
var newPlayer = {
name: player.name,
id: player.id,
auth: player.auth,
};
playerz.push(newPlayer);
};
room.onPlayerLeave = function (player) {
playerz.splice(playerz.indexOf(player.name));
};
这不起作用,因为它只是删除了一个对象,而不是我想要的那个。如果一个房间里有 5 个玩家并且一个人离开,我希望那个人的对象被移除......
哦,我记得你player.name
,player.id
和player.auth
是对象的属性player
,我不必声明,因为它们已经内置在游戏中。而且,player.name
其他的都是非常可变的,这意味着如果你把
console.log(player.name);
无论是在.onPlayerJoin
,.onPlayerLeave
它都会控制台加入和离开的玩家的名字,但是如果你设置一个.onplayerChat
你放 message === "hello"player.name
的玩家,将是写你好的玩家。
我尽可能地解释了它!祝你有美好的一天!
解决方案
推荐阅读
- java - 对范围使用 if/else 语句
- angular - 如何在一系列 API 调用中正确链接 observables
- javascript - 滚动到底部不在非活动标签中工作
- bash - 在 Bash for Windows 和 Powershell 中,如何设置热键以在提示的路径上交替前进/后退 \?
- docker - 如何通过 Docker Compose 初始化 Splunk HTTP 事件收集器并将其与 splunk 日志记录驱动程序一起使用
- c# - 用户是否看过某条推文?推特 API
- python - 从列表中删除换行符
- reactjs - 如何从 React 中的对象中获取数据
- php - 如何使用 php array_search 匹配多维数组中的 2 个键值
- unreal-engine4 - 如何导出虚幻引擎材质?