【发布时间】:2019-12-02 16:21:35
【问题描述】:
我目前有一个数组u._roles,其中填充了来自“581199939464462340”等组的 id。
其次,我有一个字典,其中键是角色 ID,值是名称,例如 {key: "581199939464462340", value: "Member"}。
现在我想获取数组中“最高”角色的名称。目前我有这个丑陋的 if 语句,但我认为可以做得更好,但是如何? (数组u._roles 是只读的)。
u._roles 可能如下所示:
["5812040340469414946", "581200340469415946", "581209222700597248"] 所以“最高”将是“581200340469415946”(如果是第二个)。 (然后从字典roleMap中得到这个id的名字)
var Rank;
if (u._roles.includes("581199939464462340")) {
Rank = roleMap["581199939464462340"]; // highest
} else if (u._roles.includes("581200340469415946")) {
Rank = roleMap["581200340469415946"]; //
} else if (u._roles.includes("581214123334041620")) {
Rank = roleMap["581214123334041620"]; //
} else if (u._roles.includes("588976480017448988")) {
Rank = roleMap["588976480017448988"]; //
} else if (u._roles.includes("581203853635223574")) {
Rank = roleMap["581203853635223574"]; //
} else if (u._roles.includes("581209222700597248")) {
Rank = roleMap["581209222700597248"]; //
} else if (u._roles.includes("592436270031175681")) {
Rank = roleMap["592436270031175681"]; // lowest
} else {
Rank = "";
}
最高并不意味着最高的数字。它只是我喜欢使用的一个命令。
【问题讨论】:
-
你能把
u._roles里的内容贴出来吗? -
它只是一个普通数组,但我肯定会编辑问题
-
最高不代表最高数。它只是我喜欢使用的一个顺序。 您必须通过一个键(例如
priority: 1)在数组中指定某种顺序。数组只读是什么意思? -
这些看似随机的数字之间有什么关系吗?这样的数字可以存在多少。
-
@AnuragSrivastava 该顺序就像我目前正在从上到下检查 if 语句。只读意味着我无法更改 u 或 u._roles 对象的任何内容。
标签: javascript arrays node.js