为了账号安全,请及时绑定邮箱和手机立即绑定

js 数组问题

js 数组问题

SMILET 2019-02-27 17:32:59
有一个数组,长度为7,数组元素只有0和1两种选择,例如[0,1,1,1,1,1,0]这样的,第一位表示周日,第二位表示周一,...最后一位表示周六,现在怎样高效的做出判断,得到以下的结果:1.若只有第一个元素和最后一个元素是1时,返回“周末”2.若只有中间五位都为1时,返回“工作日”
查看完整描述

3 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

想到一个很普通且简单的办法:

(不知道高不高效 -_-||)


var a =  [0,1,1,1,1,1,0];

var b = a.join("");

if(b ==  "0111110"){

  console.log(“工作日”);

}else if(b ==  "1000001"){

  console.log(“周末”);

}else {

  //do nothing

}

抛砖引玉


查看完整回答
反对 回复 2019-03-08
?
holdtom

TA贡献1805条经验 获得超10个赞

这是面试题或者作业题吧……

提示一下,用加计算和 Array.prototype.slice


查看完整回答
反对 回复 2019-03-08
?
Helenr

TA贡献1780条经验 获得超4个赞

建议使用二进制位存储实现。假设用变量var1([0,1,1,1,1,1,0])用来判断:
数组先转化为数字:var2 = parseInt(var1.join(''), 2)
1.b1000001(十进制65)表示周末,var2 === 65 则为true
2.b0111110(十进制62)表示工作日,var2 === 62 则为true

查看完整回答
反对 回复 2019-03-08
  • 3 回答
  • 0 关注
  • 670 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信