如何解决如何检查未命名函数的返回情况
我编写了以下代码:
mp.events.addCommand("admin",(player,targetPlayer,targetAdminLevel) => {
mp.players.forEach((targetPlayer2) => {
if (targetPlayer2 === targetPlayer) return true;
else return false;
});
try {
if (player.adminLevel < 8) throw "Error 1.";
if (!targetPlayer) throw "Error 2.";
if (player.adminLevel <= targetAdminLevel) throw "Error 3.";
//if (functionAbove = false) code
}
});
我想知道如何检查mp.players.forEach函数是对还是错,因此可以将其添加到try语句中。谢谢。
我正在尝试检查是否有一个在线玩家,其名字在命令的第二个自变量中键入。示例:/ admin playerName。如果存在,则返回true并设置他的adminLevel;如果不是,则返回false。
我正在使用的功能:https://wiki.rage.mp/index.php?title=Pool::forEach
解决方法
使用.some,.filter,.find代替forEach。如果您返回类似给定的内容:
array.some(obj=><condition>) //return boolean
array.filter(obj=><condition>) //return array with all the elements which fulfills condition
array.find(obj=><condition>) //return element
,
您可以遍历对象
const players = {
player1 : 'Neimar',player2 : 'Carvalho',player3 : 'Ronaldinho'
}
for (const [key,value] of Object.entries(players)) {
console.log(`${key}: ${value}`);
}
您可以根据需要设置条件。
,这就是我想要做的:
global.findPlayer = function findPlayer(name) {
let players = mp.players.toArray();
for(let p in players) {
if(players[p].name == name) {
return players[p];
}
}
return null;
}
if (findPlayer(targetPlayer)) //code;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。