84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
项目有一个需求是展示该产品的语言版本,其数组为:
["中文(简)", "中文(繁)", "英文"]
比如A产品从后台获取到的语言版本数据是:
lang:4
通过二进行位运算,匹配数组中并得到该产品的语言版本为:英文。
我是想知道怎样用js来通过lang的值来运算并匹配到数组中对应的值,如A产品的语言版本为“英文”。(语言版本是可多选的)
认证高级PHP讲师
var arr = ["中文(简)", "中文(繁)", "英文"]; var code = 4; var result = arr.filter((_, idx) => { var flag = 1 << idx; return (flag & code) == flag; });
const num = 4; const bytestring = num.toString(2);//"100" const arr = ["中文(简)", "中文(繁)", "英文"]; const ret = arr.reverse().filter((v,i)=>+(bytestring[i])); console.log(ret);// ["英文"];
数组只有3项,所以可以用三位的二进制代替,其中简是001,繁是010,英是100。
把数字转成二进制之后再对比数组做过滤即可。
呀,ES5方式怎么写?
数组只有3项,所以可以用三位的二进制代替,其中简是001,繁是010,英是100。
把数字转成二进制之后再对比数组做过滤即可。
呀,ES5方式怎么写?