bitse设备管理方式

对于一个固定顺序的属性的有无,可通过二进制位管理,每一位上的值0(无),1(有),后台存储一个整数以及对应的属性序列即可。

例如:房屋信息中,房屋的基础设施(网络,洗衣机等)的固定属性相同

这样可以存储为

var room = {
  items: ['空调', '冰箱', '洗衣机', '热水器', '网络', '电脑', '电视', '烘鞋机', '烧水壶', '充电宝'],
  itemsValue:89
}

其中89(10)转化为二进制1011001(2),从个位开始排序,0表示无,1表示有,前面补0,

1 ,0,0,1,1,0,1,0,0,0,0..这样对应设备,展示效果如图

设备展示

就是空调,热水器,网络和电视是有的,其他都是无。

var hasItems = room.itemsValue.toString(2).split('').reverse()
// room.items.indexOf(item) 外部判断时可通过indexOf获取对应下标
room.items.forEach(function (item, index){
  console.log(item)
  console.log(hasItems[index]?hasItems[index]:'0')
})
// 输出
// ‘空调’ 1
// ...

你可能感兴趣的:(bitse设备管理方式)