项目有一个需求是展示该产品的语言版本,其数组为:
["中文(简)", "中文(繁)", "英文"]
比如A产品从后台获取到的语言版本数据是:
lang:4
通过二进行位运算,匹配数组中并得到该产品的语言版本为:英文。
我是想知道怎样用js来通过lang的值来运算并匹配到数组中对应的值,如A产品的语言版本为“英文”。(语言版本是可多选的)
项目有一个需求是展示该产品的语言版本,其数组为:
["中文(简)", "中文(繁)", "英文"]
比如A产品从后台获取到的语言版本数据是:
lang:4
通过二进行位运算,匹配数组中并得到该产品的语言版本为:英文。
我是想知道怎样用js来通过lang的值来运算并匹配到数组中对应的值,如A产品的语言版本为“英文”。(语言版本是可多选的)
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。
把数字转成二进制之后再对比数组做过滤即可。
10 回答11k 阅读
7 回答11.1k 阅读
6 回答2.9k 阅读
5 回答4.7k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决