首页 > 解决方案 > 如何检查未命名函数的返回

问题描述

我做了下面的代码:

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

标签: javascriptnode.jsfunctionforeach

解决方案


使用 .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


推荐阅读