我做了下面的功能。我相信,基本上,如果一个播放器键入/ port,而另一个播放器的名称则该函数返回true。
mp.players.forEach(_player => {
if(_player.name === name)
return true;
});
我想为上面的函数命名,所以我可以做类似的事情:
if (functionName) [code]
那么,如何命名上面的函数?还是有其他方法可以检查它是否正确。我正在尝试在下面的try ... catch语句中列出它:
try {
if (player.adminLevel < 8) throw "Error 1";
if (!targetPlayer) throw "Error 2";
if (player.adminLevel <= targetAdminLevel) throw "Error 3";
//AND THE NEW ONE HERE
if (functionName) throw "Error 4";
}
答案 0 :(得分:2)
只需将其编写为普通函数,然后传递函数名称而不是lambda表达式即可。
function myFunction(player) {
if(_player.name === name)
return true;
}
mp.players.forEach(myFunction);
现在,您可以在myFunction
的其他地方使用它的名称了……不需要“转换”。
答案 1 :(得分:0)
您尚未创建任何功能。 forEach 是您要为数组调用的Array原型的命名函数。您可以在try块中直接编写 forEach 逻辑,或者声明一个命名函数并按如下所示使用它:
function functionName(players, name){
return players.some(_player => _player.name === name);
};
try {
if (player.adminLevel < 8) throw "Error 1";
if (!targetPlayer) throw "Error 2";
if (player.adminLevel <= targetAdminLevel) throw "Error 3";
//AND THE NEW ONE HERE
if (functionName(mp.players, player.name)) throw "Error 4";
}