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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JS 數(shù)組中出現(xiàn)次數(shù)最多的元素的問題

JS 數(shù)組中出現(xiàn)次數(shù)最多的元素的問題

ibeautiful 2021-06-21 09:15:11
我有以下代碼來顯示帶有用于自動完成的單詞的列表:var words = ['foo', 'bar', 'barz', 'ba'];var possibleWords = [];  document.getElementsByTagName('div')[0].addEventListener('keyup', function(){        var textWords = this.innerText.split(' ');  var lastWord = textWords[textWords.length-1];  for(var k = 0; k < words.length; k++){          for(n = 0; n < 20; n++){                if(lastWord.length == n+1 && words[k].charAt(n) == lastWord.charAt(n)){        possibleWords.push(words[k]);                    var counts = possibleWords.reduce((a, c) => {          a[c] = (a[c] || 0) + 1;          return a;        }, {});        var maxCount = Math.max(...Object.values(counts));        var mostFrequent = Object.keys(counts).filter(k => counts[k] === maxCount);      }    }  }        console.log(mostFrequent);        var list = this.getElementsByTagName('ul')[0];  if(mostFrequent == undefined) {    list.removeAttribute('style');  } else {          list.style.display = 'inline';    list.innerHTML = '';    list.innerHTML = '<li>'+mostFrequent.join('</li><li>')+'</li>';  }});div{width:300px;height:100px;outline:1px solid #ccc;position:relative;}ul{display:none;position:absolute;left:0;top:100px;}<div contenteditable="true"><ul></ul></div>當(dāng)我從var list = ...to注釋底部代碼list.innerHTML = '<li>'+...并嘗試鍵入b,然后是ba,然后是bar,然后是barz 時,我在控制臺中看到了正確的結(jié)果。但是如果我不注釋底部代碼,我會收到undefined一半的時間并且列表也有一半的時間是隱藏的。如何解決問題?
查看完整描述

1 回答

?
躍然一笑

TA貢獻1826條經(jīng)驗 獲得超6個贊

您會看到這種奇怪的行為,因為您<ul>動態(tài)更新的標(biāo)簽嵌套在div接收輸入以提供列表內(nèi)容的同一個標(biāo)簽中。在動態(tài)修改 div 包含的列表后,考慮this.innerTextdivkeyup偵聽器上的值是什么。

嘗試console.log(textWords)在 keyUp 偵聽器的頂部查看。

只需將您的 div 改為:

<div contenteditable="true"></div><ul></ul>

并將代碼段末尾附近的偵聽器更改為

var list = document.getElementsByTagName('ul')[0];

為我解決了這個問題。

順便說一句 - 有更高效的方法來實現(xiàn)自動完成。僅通過一種方式查看“自動完成樹”。


查看完整回答
反對 回復(fù) 2021-06-24
  • 1 回答
  • 0 關(guān)注
  • 189 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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