亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

按字母順序對游戲對象進行排序

按字母順序對游戲對象進行排序

慕娘9325324 2022-07-21 22:21:45
我正在嘗試按字母順序對游戲中的所有游戲對象進行排序我有一個函數,我在哪里調用它但是我的按鈕似乎沒有做任何事情 onclick 這個想法是在訪問該網站時沒有任何排序然后一旦你點擊該按鈕按標題按字母順序對所有游戲進行排序。我仍然是 Javascript 的新手,任何關于實現這一點的建議都比我當前的排序功能表示贊賞。下面是我的排序函數、事件監聽器和 html 實現的代碼片段。*編輯1:我已經重構了一點,當單擊按鈕時它返回為未定義。添加我的 2 個片段,因為我現在以不同的方式執行它。   sortAlpha() {    this.games.sort(function(gameA, gameB){        if (gameA.title < gameB.title) {            return -1;        }        if (gameA.title > gameB.title){            return 1;        }        return 0;       });        window.onload = function() {        document.getElementById("filter").onclick = sortAlpha;       }    }<div id="filter">    <div id="buttons">        <button onclick="sortAlpha()">Sort Games Alphabetically</button>    </div></div>
查看完整描述

1 回答

?
catspeake

TA貢獻1111條經驗 獲得超0個贊

通過一些重構,成為問題的是在 HTML 中,我在呈現數據之前調用了函數,導致函數在 0 個對象的數組上工作,從而改變了我的按鈕單擊并將事件偵聽器添加到其余對象所在的位置正在初始化解決了這個問題。下面是對我有用的更新的 HTML 和 JS 函數。


<div id="filter">

    <div id="buttons">

        <button id="sort">Sort Games Alphabetically</button>

    </div>



</div>

   document.getElementById("sort").addEventListener ("click", this.sortAlpha.bind(this));

        console.log('test')


        this.games.sort(function(gameA, gameB){

        if (gameA.title < gameB.title) {

            return -1;


        }

        if (gameA.title > gameB.title){

            return 1;

        }


        return 0;

       });

       console.log(this.games)

       const gamesContainer = document.getElementById('games-content')

       gamesContainer.innerHTML = ""

       this.renderGames()



    }



}


查看完整回答
反對 回復 2022-07-21
  • 1 回答
  • 0 關注
  • 105 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號