gpt4 book ai didi

javascript - 如何使用二进制系统 (1, 2, 4) 作为算法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:29:47 25 4
gpt4 key购买 nike

类似于 chmod,我想使用 1、2、4 作为通知方式。

1 = Email 
2 = SMS
4 = Push notifications

是否有函数(最好是在 javascript 中)可以输入一个数字(以上)并可以返回一个对象:

{
email: true,
sms: true,
push: false
}

我希望函数不被硬编码。我不想要一堆 if 语句来检查每个组合。我想要一种“聪明”的方式来做到这一点。

最佳答案

这样的事情怎么样:

var commsMode = {
email: 1,
sms: 2,
push: 4,
toObject: function(val){
var rt = {};

for (e in commsMode) {
rt[e] = (val & commsMode[e]) > 0;
}

return rt;
}
};

var obj = commsMode.toObject(3);

Working example here .

扩展示例:

var commsMode = {
email: 1,
sms: 2,
push: 4,
mode4: 8,
mode5: 16,
mode6: 32,
mode7: 64,
mode8: 128,
toObject: function(val){
var rt = {};

for (e in commsMode) {
rt[e] = (val & commsMode[e]) > 0;
}

return rt;
}
};

var obj = commsMode.toObject(233);

for (p in obj) {
alert(p + ': ' + obj[p])
}

Working example here

关于javascript - 如何使用二进制系统 (1, 2, 4) 作为算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15559577/

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