有一个数组,长度为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
}
抛砖引玉
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
添加回答
举报
0/150
提交
取消