二進制補零、取值,for..in Key排序問題

二進制(111111)每一位的數值代表着不同的含義,所以有了以下操作

var arr= ''
//二進制補零
var TFlag=(Array(6).join(0) + Number(data.lines[0].TFlag).toString(2)).slice(-6);
var base = {'5n':"一",'4n':"二",'3n':"三"};
let other = {'2':"四 ",'1':"五 ",'0':"六"};
for(var Key in base){
  let str = base[Key]+"巴啦啦啦 ";
    if(TFlag[parseInt(Key)] == 1) {
      for(var k1 in other){
        if(TFlag[k1] == 1) {
          str += other[k1]
        }
    }
    arr+=str;
  }
}

注意的點:
1.toString的時候確實會轉換成二進制,但是不是我想要的數據,所以我做了二進制補零;
2.for…in的時候key會轉化成整數並排序(這是什麼鬼啊(O_o)??),
本來543變成了345(氣哼哼o( ̄ヘ ̄o#)),
所以我在key值加了個n,在取值的時候parseInt(耐思o( ̄▽ ̄)d);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章