如何在JS中简化多重复逻辑条件?以Minecraft机器人玩家过滤为例
简化Minecraft机器人的NPC过滤逻辑
可以把需要忽略的NPC用户名统一放到一个可复用的数组中,用数组的includes方法替代重复的不等于判断,既简洁又方便后续维护:
步骤1:定义全局可复用的忽略列表
把所有需要过滤的NPC用户名存入一个常量数组,放在代码中合适的全局/共享作用域下,方便多次调用:
const IGNORED_NPC_USERNAMES = [ "fuud", "snowboi", "fugdealer1", "parkourstart", "boatman", "timber + nails", "mrshade" ];
步骤2:简化过滤函数
用数组的includes方法判断用户名是否在忽略列表中,取反后和原有的entity.type判断结合:
const playerFilter = (entity) => entity.type === "player" && !IGNORED_NPC_USERNAMES.includes(entity.username);
这样修改后,后续要新增或移除需要忽略的NPC,只需要修改IGNORED_NPC_USERNAMES数组即可,不用逐个修改判断条件;同时这个数组可以在代码中任何需要做相同过滤的地方复用,避免重复逻辑。
内容的提问来源于stack exchange,提问作者Raul_333
相关产品推荐
相关产品推荐

