JS練習(xí)題

題一:

給你一個整數(shù)數(shù)組arr图柏,請你幫忙統(tǒng)計數(shù)組中每個數(shù)的出現(xiàn)次數(shù)恐锣。如果每個數(shù)的出現(xiàn)次數(shù)都是獨(dú)一無二的挡逼,就返回true续语;否則返回false

示列1:輸入:arr = [1,2,2,1,1,3];輸出:true
解釋:在該數(shù)組中引谜,1出現(xiàn)了3次牍陌,2出現(xiàn)了2次,3 只出現(xiàn)了1次员咽。沒有兩個數(shù)的出現(xiàn)次數(shù)相同毒涧。
示列2:輸入:arr = [1,2];輸出:false

let subArr = [1, 2, 2, 1, 1, 3, 10, 10, 10, 10, 4, 4, 4, 4]
function sunFn(subArr) {
    let subObj = subArr.reduce((obj, curKey) => {
        obj[curKey] ? obj[curKey]++ : obj[curKey] =1
        return obj
    }, {})
    return  Object.values(subObj).length === [...new Set(Object.values(subObj))].length
}
console.log(sunFn(subArr)) //false

題二

不使用Set從數(shù)組中隨機(jī)取出N個不同元素

  let subArr6 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'a', 'b', 'c', 'i']
  async function getNoRepetitionEle(n) {
    subArr6 = subArr6.reduce((arr,item) => {  //通過reduce進(jìn)行數(shù)組去重
      return arr.includes(item) ? arr : [...arr, item]
    },[])
    // 獲取去重后的數(shù)組隨機(jī)下標(biāo)
    let getIndexArr = () => {
      if (n > subArr6.length) throw new Error('傳入?yún)?shù)超過去重后數(shù)組長度')
      let iArr = []
      for (let i = 0; i < n; i++) {
        let index = Math.floor(Math.random() * subArr6.length) //隨機(jī)取數(shù)組的下標(biāo)
        iArr.includes(index) ? i-- : iArr.push(index)
      }
      return iArr
    }
    let arrIndex = await getIndexArr(), eleArr = []
    for (let iVal of arrIndex) {
      eleArr.push(subArr6[iVal])
    }
    return eleArr
  }

  getNoRepetitionEle(6).then((ret) => {
    console.log(ret) //["b", "c", "h", "i", "g", "e"] 隨機(jī)取出的6個不同元素
  }).catch(err => {
    alert(`${err.name}:${err.message}`)
  })

題二感覺寫的有點(diǎn)復(fù)雜贝室,各位大佬有沒有更好的方案呢契讲?歡迎評論區(qū)留言!

題三

讓數(shù)組中指定索引的元素排到首位

let subArr3 = [1,2,3,4,5,6,7]
function setIndexFirst(key){
    if(key > subArr3.length) throw new Error('參數(shù)錯誤')
    subArr3.unshift(...subArr3.splice(subArr3.findIndex((val,i) => i === key), 1))
    return subArr3
}
console.log(setIndexFirst(3)) //[4,1,2,3,5,6,7]

題四

請用一行代碼來判斷數(shù)組中的元素是否都相同?

通過every實現(xiàn):

  let subArr7 = ['a','b','a','c']
  let sub7 = subArr7.every((val, index) => { return val === subArr7[0] })
  console.log(sub7) //false

every 方法:檢測數(shù)組中的元素是否滿足指定條件滑频,依次執(zhí)行數(shù)組元素捡偏,只要有一個不滿足就停止往下繼續(xù)執(zhí)行,返回false峡迷,所有元素滿足條件 返回 true

通過find實現(xiàn):

  let subArr7 = ['a','a','a','a']
  let sub7 = !subArr7.find((val,index,arr) => { return val !== arr[0]}) //不滿足條件 a !== a 返回undefined 取反 sub7則為true
  console.log(sub7) //true

find方法:當(dāng)條件滿足時(val !== arr[0])返回true,并不再調(diào)用函數(shù)
不滿足則返回undefined

題五

一行代碼, 判斷數(shù)組中的值是連值. 比如[1,2,3,4,5]這樣的..

通過some方法實現(xiàn):

  let subArr8 = [1, 2, 3, 4, 5, 6, 7, 8]
  let sub8 = !subArr8.some((val,index,ary) => { return ary[index + 1] && ary[index + 1] - val !== 1 })
  console.log(sub8) //true

只要有一個元素滿足條件就返回true 后面的元素就不再調(diào)用
沒有滿足條件都的元素 則返回false

日常動動腦银伟,生活沒煩惱!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末绘搞,一起剝皮案震驚了整個濱河市彤避,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌夯辖,老刑警劉巖琉预,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蒿褂,居然都是意外死亡模孩,警方通過查閱死者的電腦和手機(jī)尖阔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來榨咐,“玉大人介却,你說我怎么就攤上這事】樽拢” “怎么了齿坷?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長数焊。 經(jīng)常有香客問我永淌,道長,這世上最難降的妖魔是什么佩耳? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任遂蛀,我火速辦了婚禮,結(jié)果婚禮上干厚,老公的妹妹穿的比我還像新娘李滴。我一直安慰自己,他們只是感情好蛮瞄,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布所坯。 她就那樣靜靜地躺著,像睡著了一般挂捅。 火紅的嫁衣襯著肌膚如雪芹助。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天闲先,我揣著相機(jī)與錄音状土,去河邊找鬼。 笑死伺糠,一個胖子當(dāng)著我的面吹牛蒙谓,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播退盯,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼泻肯!你這毒婦竟也來了渊迁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤灶挟,失蹤者是張志新(化名)和其女友劉穎琉朽,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體稚铣,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡箱叁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年墅垮,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片耕漱。...
    茶點(diǎn)故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡算色,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出螟够,到底是詐尸還是另有隱情灾梦,我是刑警寧澤,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布妓笙,位于F島的核電站若河,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏寞宫。R本人自食惡果不足惜萧福,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望辈赋。 院中可真熱鬧鲫忍,春花似錦、人聲如沸炭庙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽焕蹄。三九已至逾雄,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間腻脏,已是汗流浹背鸦泳。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留永品,地道東北人做鹰。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像鼎姐,于是被迫代替她去往敵國和親钾麸。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評論 2 355