资讯专栏INFORMATION COLUMN

1248转ABCD

FrozenMap / 2078人阅读

摘要:另外,题目的选项是数组的索引,所以不需要用到这个方法,这个只是选择题的答案,根据索引来显示对应的可以用这个同样也是根据码来转换的额,应当对传入的值进行限制,但是我懒,哈哈。

由于项目是教育类的,所以会遇到选择题,单选多选不定项之类的,而从后台传过来的答案是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码来转换的额,应当对传入的值进行限制,但是我懒,哈哈。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/94084.html

相关文章

  • 【nginx运维基础(5)】Nginx的location攻略

    摘要:概述有定位的意思根据来进行不同的定位在虚拟主机的配置中是必不可少的可以把网站的不同部分定位到不同的处理方式上伪静态反向代理负载均衡等等都离不开语法中括号可以不写任何参数此时称为一般匹配也可以写参数因此大类型可以分为种精准匹配一般匹配正则匹配 概述 location 有定位的意思, 根据Uri来进行不同的定位.在虚拟主机的配置中,是必不可少的,location可以把网站的不同部分,定位到...

    未东兴 评论0 收藏0
  • 【nginx运维基础(5)】Nginx的location攻略

    摘要:概述有定位的意思根据来进行不同的定位在虚拟主机的配置中是必不可少的可以把网站的不同部分定位到不同的处理方式上伪静态反向代理负载均衡等等都离不开语法中括号可以不写任何参数此时称为一般匹配也可以写参数因此大类型可以分为种精准匹配一般匹配正则匹配 概述 location 有定位的意思, 根据Uri来进行不同的定位.在虚拟主机的配置中,是必不可少的,location可以把网站的不同部分,定位到...

    FrancisSoung 评论0 收藏0
  • 前端本地模糊搜索并高亮

    摘要:项目需求是通过搜索关键字显示符合搜索条件的用户,搜索条件是用户昵称和用户唯一号码是一串数字,其中昵称支持中文匹配和首字母拼音匹配。 项目需求是通过搜索关键字显示符合搜索条件的用户,搜索条件是用户昵称和用户唯一号码(是一串数字),其中昵称支持中文匹配和首字母拼音匹配。 首先说说自己的想法: 1.既然要支持拼音搜索那么必须要一个能把中文转化成拼音的东西(我是在网上找的大佬的代码,一般像这种...

    Luosunce 评论0 收藏0
  • PHPGo系列:数组与切片

    摘要:以上是数组在语言中的定义方法,代表数组长度为,是数组中元素的类型,花括号中的是数组元素,切记元素个数与类型一定要与前面声明的相符,否则会报错。数组元素的删除在中删除数组元素非常简单,直接即可,以下代码是删除第二个元素。 数组的定义 用过PHP的同学应该很清楚,无论多么复杂的数据格式都可以用数组来表达,什么类型的数据都可以往里塞,它是工作必备的一部分,使用很简单,易用程度简直变态。 $a...

    yuxue 评论0 收藏0
  • 微信公众号IOS端复制链接出错,安卓端分享链接打开只能进入首页等问题的解决

    摘要:折腾了一整天,官方文档看了好几遍,网上基本上所有的方法都试了,发现都没什么卵用,最后打开的分享页面,再复制分享页面的链接,发现链接是这个格式,相比之下只是多了个字段,抱着试一试的心态,在当前链接中添加,发现所有问题都迎刃而解。 最近在做某个需要在微信中打开的项目,部分页面会通过微信分享或复制链接分享给其他人,然后就遇到了以下坑:1.IOS端复制链接或在其他浏览器中打开时,假如原网站链...

    Cobub 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<