gpt4 book ai didi

javascript - 检查某个位置的位是否为1

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:02:30 27 4
gpt4 key购买 nike

我在 JavaScript 中有一个 4 位数字表示,代表一天中的 4 个时间(早上、下午、傍晚、晚上)。

假设我有十进制数字 13 (1101),它表示必须在晚上、傍晚和早上(不是下午,因为第二位是 0)执行某些操作。

到目前为止我所做的是获取代表白天的 4 位数字(1000 是夜晚,0100 是晚上,0010 是下午,0001 是早晨),我想做的是创建一个函数来比较2个数字,如果某个位置的位等于1,则返回true。

我知道按位运算符,但我尝试使用它们,但仍然没有成功。

最佳答案

是的,按位。您可以使用简单的位掩码测试。

var PERIODS_OF_DAY = {
MORNING: 1, AFTERNOON: 2, EVENING: 4, NIGHT: 8
};

var isPeriodOfDay = function(number, period) {
return !!(number & period);
};

测试数字 13:

for (period in PERIODS_OF_DAY) {
if(PERIODS_OF_DAY.hasOwnProperty(period)) {
console.log(period + ":", isPeriodOfDay(13, PERIODS_OF_DAY[period]));
}
}

MORNING: true
AFTERNOON: false
EVENING: true
NIGHT: true

关于javascript - 检查某个位置的位是否为1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15590933/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com