第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

使用哈希圖和對(duì)象的數(shù)組頻率

使用哈希圖和對(duì)象的數(shù)組頻率

慕村9548890 2022-10-13 17:07:07
正如您將注意到的,我正在嘗試使用散列圖和對(duì)象來分析在給定數(shù)組中哪個(gè)值最常出現(xiàn)。如果可以,請(qǐng)嘗試確定每種算法(哈希圖和對(duì)象)的答案。下面的示例使用哈希映射來“映射”各種對(duì)象。但是,我有兩個(gè)問題: 1. 我不能正確地增加出現(xiàn)次數(shù):在出現(xiàn)變量等于 1 之后,該值將永遠(yuǎn)保持,因此算法提供了錯(cuò)誤的模式。2. 不知道如何在迭代完成后改變一個(gè)map的值。var highestFrequency = (array) => {  var occurenceStored = new Map();  let occurrence = 0;  for (var i = 0; i < array.length; i++){    var j = i + 1;    if (array[i] === array[j]){      occurrence += 1;      occurenceStored.set(array[i], occurrence)    }  }  console.log(occurenceStored);}highestFrequency([101, 104, 108, 108, 111, 119, 119, 119])我決定使用一個(gè)對(duì)象,而不是使用哈希圖,但我遇到了同樣的問題。出現(xiàn)變量永久等于 1。我嘗試在不同的地方聲明出現(xiàn)變量,但似乎找不到正確的修復(fù)方法。var highestFrequency = (array) => {  var occurenceStored = {};  let occurrence = 1;  for (var i = 0; i < array.length; i++){    var j = i + 1;    if (array[i] === array[j]){      occurenceStored[array[i]] = occurrence;    }  }  console.log(occurenceStored);}highestFrequency([101, 104, 108, 108, 111, 119, 119, 119, 120, 120, 120])
查看完整描述

3 回答

?
動(dòng)漫人物

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超10個(gè)贊

如果你需要使用 Map,那么你可以這樣做:


const highestFreq = (array) => {

  let myMap = new Map();

  for( let i = 0; i < array.length; i++ ) {

    if (myMap[array[i]]) myMap[array[i]]++;

    else myMap[array[i]] = 1; 

  }

  return myMap;

}


const myArray = [101, 104, 108, 108, 111, 119, 119, 119];


const myMap = highestFreq(myArray);

console.log(myMap); 

myMap 包含鍵值對(duì),其中鍵是給定數(shù)組中的唯一元素,映射值是它們的出現(xiàn)次數(shù)。



查看完整回答
反對(duì) 回復(fù) 2022-10-13
?
守著一只汪

TA貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個(gè)贊

使用對(duì)象方式,您可以實(shí)現(xiàn)如下:


var highestFrequency = (array) => {

  var occurenceStored = {};

  for (var i = 0; i < array.length; i++){

    

    if (occurenceStored[array[i]]){

      occurenceStored[array[i]] = occurenceStored[array[i]]+1;

    } else{

        occurenceStored[array[i]]=1;

    }

  }


  console.log(occurenceStored);

}


查看完整回答
反對(duì) 回復(fù) 2022-10-13
?
開滿天機(jī)

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊

假設(shè)您只想要最頻繁的值(如果有兩個(gè)具有相同頻率的不同值怎么辦?):


每個(gè)值增加一個(gè)計(jì)數(shù)器

迭代時(shí),如果計(jì)數(shù)器大于您最大的計(jì)數(shù)器,則改為最大。

const highestFreq = arr => {

  const best = { value: 0, n: 0 } // what to do if empty array ??

  arr.reduce((m, el) => {

    const counter = (m.get(el) || 0) + 1

    if (counter > best.n) {

      best.value = el

      best.n = counter

    }

    return m.set(el, counter)

  }, new Map())

  return best // or compute your frequency: best.n / arr.length

}


console.log(highestFreq([101, 104, 108, 108, 111, 119, 119, 119]))


查看完整回答
反對(duì) 回復(fù) 2022-10-13
  • 3 回答
  • 0 關(guān)注
  • 126 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)