首页 > 代码库 > 二进制数的妙用
二进制数的妙用
最近遇到了这么一个问题: 如何解析一个二进制计算得来的十进制并使用,场景是这样的: 一个购物平台, 商家可以发布商品(在商家APP中), 并选择他可以接受的支付方式,如线下支付、支付宝、微信、银联以及我的钱包支付。如果选择了使用前面三者支付,那么后端就会传来00111这个二进制表示的十进制7, 如果这五种方式都是支持的,那么后端会传来11111这个二进制表示的十进制31,然后前端需要将这三种支付方式显示在页面上,并且如果用户选择了支付宝支付,那么前端向后台传参数2, 如果用户选择了使用微信支付,那么前端向后台选择传递4,这个很容易理解,即1代表有,0代表无。 但是我这边应该怎么操作呢?
(31).toString(2).split("").map(function (value) { return Number(value) });
[1, 1, 1, 1, 1]
这样,我们就可以根据这个数组中的值是否为1来决定是否显示相应的支付方式了,当用户选择了相应的值后,我们可以根据其index值来使用2的index次方来传递。
二进制数的妙用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。