博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1248转ABCD
阅读量:6964 次
发布时间:2019-06-27

本文共 1393 字,大约阅读时间需要 4 分钟。

由于项目是教育类的,所以会遇到选择题,单选多选不定项之类的,而从后台传过来的答案是1,2,4,8之类的数字,用来对应ABCD,采用数值相加来解决多选问题,比如后台传来的值是8,就是对应选项D,而穿过15,就对应1+2+4+8,也就是ABCD四个选项,起初我以为只有ABCD四个选项,所以就只写了四个选项的转换,后来发现选项不止四个,甚至不定项的选项个数也是不确定的,但是上限是26个,所以之前的方法不能用了,后来就改了一种写法

function xyz(val, len) {            //值 选项数            let s = ""            for (let i = len; i >= 0; i--) {                let t = Math.pow(2, i);                if (val - t >= 0) {                    val = val - t;                    s = s + String.fromCharCode(i + 65);                }            }            //将选项排序            return s.split('').sort().join('');        };

其中val是需要进行转换的数字,比如15,1024等等,len是选项的个数,后面的String.fromCharCode是将数根据acsll码转成大写字母,后来感觉传入两个参数在某方面不便,所以直接改成了一个参数代码如下

function xyz(val) {            //值             let s = ""            for (let i = 25; i >= 0; i--) {                let t = Math.pow(2, i);                if (val - t >= 0) {                    val = val - t;                    s = s + String.fromCharCode(i + 65);                }            }            return s.split('').sort().join('');        }

这个只需要传入一个参数,因为字母只有26个,所以直接限制的上限,但是缺点就是会比上一种性能低,虽然我感觉不出来,这个函数应该显示传入的val的大小,低于2^(选项个数)-1;所以当选项比较少时可以限制一下,多的话因为我是从后台获取的数,所以我就没限制,根据实际情况吧。

另外,题目的选项是数组的索引,所以不需要用到这个方法,这个只是选择题的答案,根据索引来显示对应的ABCD可以用这个:

function numABC(num) {            let abc=num+65;            return String.fromCharCode(abc);          }

同样也是根据acsll码来转换的额,应当对传入的值进行限制,但是我懒,哈哈。

转载地址:http://eowsl.baihongyu.com/

你可能感兴趣的文章
[LeetCode] Rotate Function
查看>>
iOS - 更轻量级的 AppDelegate - 面向服务设计
查看>>
什么样的爬虫才是好爬虫:Robots协议探究
查看>>
CentOS6.6设置静态ip
查看>>
tomcat 部署多个项目的技巧
查看>>
yii2使用多个数据库的案例
查看>>
[LintCode/LeetCode] Search Insert Position
查看>>
Node处理http跨域请求
查看>>
Gradle for Android 第五篇( 多模块构建 )
查看>>
框架 也可以这样用 easy
查看>>
LCUI 1.1.0 Beta 发布,C 的图形界面库
查看>>
recyclerView 遇到IndexOutOfBoundsException 及解决
查看>>
微信支付教程系列之现金红包
查看>>
mybatis中resultMap与resultType的使用说明
查看>>
Base64
查看>>
3、MySQL的数据类型介绍
查看>>
ubuntu apache2配置详解
查看>>
MariaDB(mysql)之半同步复制及复制过滤器的使用
查看>>
WCF Ria Service 理解制图版本【待续】
查看>>
【IOS】高仿糗事百科客户端(基本实现了除注册,评论之外的功能)
查看>>