【发布时间】:2019-08-31 13:45:26
【问题描述】:
所以,我在 node.js 上使用 osu API 包装器,我需要将 mods 从按位枚举转换为列表,但我不知道如何操作。
我在c# 中找到了一个与此相关的主题,但我在 node.js 中需要它。
这些是我需要从位转换回来的列表
{
None = 0,
NoFail = 1,
Easy = 2,
TouchDevice = 4,
Hidden = 8,
HardRock = 16,
SuddenDeath = 32,
DoubleTime = 64,
Relax = 128,
HalfTime = 256,
Nightcore = 512, // Only set along with DoubleTime. i.e: NC only gives 576
Flashlight = 1024,
Autoplay = 2048,
SpunOut = 4096,
Relax2 = 8192, // Autopilot
Perfect = 16384, // Only set along with SuddenDeath. i.e: PF only gives 16416
Key4 = 32768,
Key5 = 65536,
Key6 = 131072,
Key7 = 262144,
Key8 = 524288,
FadeIn = 1048576,
Random = 2097152,
Cinema = 4194304,
Target = 8388608,
Key9 = 16777216,
KeyCoop = 33554432,
Key1 = 67108864,
Key3 = 134217728,
Key2 = 268435456,
ScoreV2 = 536870912,
LastMod = 1073741824,
KeyMod = Key1 | Key2 | Key3 | Key4 | Key5 | Key6 | Key7 | Key8 | Key9 | KeyCoop,
FreeModAllowed = NoFail | Easy | Hidden | HardRock | SuddenDeath | Flashlight | FadeIn | Relax | Relax2 | SpunOut | KeyMod,
ScoreIncreaseMods = Hidden | HardRock | DoubleTime | Flashlight | FadeIn
}
【问题讨论】:
-
您能否更具体地说明您期望的输出类型?
-
你应该使用像 npmjs.com/package/enum 这样的库,这很简单。
-
我希望将一个位(例如 72)转换为 'HiddenDoubleTime' 或列表(可能是一个数组/对象),就像 c# 示例一样,但我的目标是将位(也求和位)转换为列表。