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

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

是否可以查看 JSON 文件中的多個對象分組?

是否可以查看 JSON 文件中的多個對象分組?

梵蒂岡之花 2023-07-06 19:48:22
所以我希望制作一個不使用數據庫的調平系統。是的,我知道數據庫是更好的方法,但調平系統僅適用于我自己的服務器,該服務器沒有大量人員交談,而且我還沒有學會如何使用數據庫并集成它們,所以我想做我現在理解的更小的東西?,F在我已經將它設置為為發送消息的任何人保存級別和經驗。我希望我可以使用另一個 JSON 文件來存儲每個級別所需的 exp,而不是執行一堆“if else”語句。我想像這樣設置{   "level": 2,   "expRequired": 100},{   "level": 3,   "expRequired": 300}有沒有一種方法可以使用此方法并檢查每個分組并將其與消息作者當前的exp進行比較?就像是if (memberExp[message.author.id].exp == levels.expRequired) {   memberExp[message.author.id].level = levels.level}
查看完整描述

1 回答

?
米琪卡哇伊

TA貢獻1998條經驗 獲得超6個贊

在你的問題中,級別可以很容易地是一個數組(在 JSON 文件中):


levels : [0, 100, 300, 1000, 5000]

然后你可以根據它匹配的最低條目檢查exp,這將是你的級別


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

    if (memberExp[message.author.id].exp > levels[i]) {

        memberExp[message.author.id].level = i

    } 

}

更新


我添加了等級檢查,這樣你就可以看到你獲得了多少等級


// remember the old level

let previousLevel = memberExp[message.author.id].level


// level up according to xp

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

    if (memberExp[message.author.id].exp > levels[i]) {

        memberExp[message.author.id].level = i

    } 

}


// check how many levels we gained

let amountGained = memberExp[message.author.id].level - previousLevel


// if we gained more than 0 we can display a message

if(amountGained > 0) {

    console.log(`Congrats! You gained ${amountGained} levels!`)

}


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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