在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ js 數(shù)組問(wèn)題

js 數(shù)組問(wèn)題

有一個(gè)數(shù)組,長(zhǎng)度為7,數(shù)組元素只有0和1兩種選擇,例如[0,1,1,1,1,1,0]這樣的,第一位表示周日,第二位表示周一,...最后一位表示周六,現(xiàn)在怎樣高效的做出判斷,得到以下的結(jié)果:
1.若只有第一個(gè)元素和最后一個(gè)元素是1時(shí),返回“周末”
2.若只有中間五位都為1時(shí),返回“工作日”

回答
編輯回答
膽怯

var days = [1,1,1,1,1,1,0];
days.unshift(days.pop());
if (days.slice(0,2).join(',')==='1,1')
console.log('周末')
else if (days.slice(2).join(',')==='1,1,1,1,1')
console.log('工作日')
else console.log('沒(méi)有想到')

2018年1月13日 16:46
編輯回答
小眼睛

建議使用二進(jìn)制位存儲(chǔ)實(shí)現(xiàn)。假設(shè)用變量var1([0,1,1,1,1,1,0])用來(lái)判斷:
數(shù)組先轉(zhuǎn)化為數(shù)字:var2 = parseInt(var1.join(''), 2)
1.b1000001(十進(jìn)制65)表示周末,var2 === 65 則為true
2.b0111110(十進(jìn)制62)表示工作日,var2 === 62 則為true

2017年10月12日 16:41
編輯回答
初心

想了下還是直接查字典比較簡(jiǎn)單,也省去了if...else...,數(shù)組當(dāng)鍵值會(huì)隱式執(zhí)行toString所以沒(méi)問(wèn)題。想不到更高效率的了。

function checkDays(days) {
    var map = {
        "0,1,1,1,1,1,0": "工作日",
        "1,0,0,0,0,0,1": "周末"
    }
    return map[days] || "其他";
}

var d1 = [0, 1, 1, 1, 1, 1, 0];
var d2 = [1, 1, 1, 1, 1, 1, 1];
var d3 = [1, 0, 0, 0, 0, 0, 1];


console.log(checkDays(d1)); // 工作日
console.log(checkDays(d2)); // 其他
console.log(checkDays(d3)); // 周末
2018年7月9日 20:35
編輯回答
凝雅

想到一個(gè)很普通且簡(jiǎn)單的辦法:
(不知道高不高效 -_-||)

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
}

拋磚引玉

2018年7月23日 20:35
編輯回答
風(fēng)清揚(yáng)

這是面試題或者作業(yè)題吧……

提示一下,用加計(jì)算和 Array.prototype.slice。

2018年2月10日 21:19