作為學校項目的一部分,我們正在創建一個應用程序,如果他們玩相同的游戲,用戶可以在其中相互匹配。當您單擊 matchButton 時,一個玩您選擇的游戲的隨機用戶將顯示在頁面上。您可以選擇喜歡該用戶或繼續點擊 matchButton 以隨機化另一個用戶?,F在我們要確保您已經喜歡的用戶不會被隨機化,因此不會在頁面上呈現。對于每個用戶,被點贊的用戶都保存在數據庫中名為 match 的數組中。玩相同游戲的用戶保存在一個名為 numOfMatches 的數組中。因此,我們使用 numOfMatches 來隨機化用戶。我想我必須遍歷數據庫中的 numOfMatches 和匹配數組,以查看 numOfMatches 中的用戶是否已經在數據庫中。如果是這樣,我需要從 numOfMatches 中刪除用戶,以便它不包含在 Math.random 代碼中。我在這篇文章的最后一個函數中嘗試使用此代碼,但在理解如何訪問用戶對象中匹配數組中的元素以及如何使用拼接(以及我應該將代碼放置在哪個函數中)時遇到了問題我們使用回調,我認為這有點棘手):for(let i = 0; i < numOfMatches.length; i++) { for(let j = 0; j < users[j].match.length; j++) { if(numOfMatches[i] === users[j].match) { let position = numOfMatches.indexOf(randomUser) numOfMatches.splice(position, 1) } }}我非常感謝您的想法和建議。來自數據庫的樣本:{ "username":"bobox", "email":"[email protected]", "password":"test234", "gender":"Man", "age":"17", "city":"J?nk?ping", "games":"Battlefield V", "usernameDiscord":"bigbox", "usernameSteam":"bigbox", "usernameOrigin":"bobox", "match":[ "carro", "arooma", "gamer_girl" ], "_id":"WRa86pRsVex6NBe2"}
如果數據庫中已存在用戶,如何使用 Math.random() 將其排除在隨機之外
慕田峪9158850
2022-06-09 11:28:20