js 数组问题

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

SMILET
浏览 671回答 3
3回答

回首忆惘然

想到一个很普通且简单的办法:(不知道高不高效 -_-||)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}抛砖引玉

holdtom

这是面试题或者作业题吧……提示一下,用加计算和 Array.prototype.slice。

Helenr

建议使用二进制位存储实现。假设用变量var1([0,1,1,1,1,1,0])用来判断:数组先转化为数字:var2 = parseInt(var1.join(''), 2)1.b1000001(十进制65)表示周末,var2 === 65 则为true2.b0111110(十进制62)表示工作日,var2 === 62 则为true
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript