我正在为记分板编写一个简单的代码,需要一些帮助。我有记分牌执行正确的分数计算,但是当我尝试用上面的数字提出水平系统时,我无法让它正确执行。
如此细菌我想要这样说,如果playerScore.score小于或者= 100,那么你的PlayerScore.Level是1.否则如果playerscore.score大于或= 101但小于200,那么Playerscore。等级是2.我实际上做了大约10个等级,但是如果我能够得到第一个等级,我应该很高兴得到另一个。任何帮助是极大的赞赏。
这是我到目前为止所做的:
"script_fields": {
"PlayerScore.score": {
"script": "if (doc['PlayerScore.deathCount'].value == 0) { doc['PlayerScore.playerKills'].value } else { Math.round(2 * doc['PlayerScore.playerKills'].value + doc['PlayerScore.aiKills'].value + (5 * doc['PlayerScore.captureCount'].value))}"
}
},
"script_fields": {
"PlayerScore.level": {
"script": "if (doc['PlayerScore.score'].value <= 100) { (doc['PlayerScore.level'].value = 1) }
else if (doc['PlayerScore.score'].value <= 300) { (doc['PlayerScore.level'].value = 2) }
else if (doc['PlayerScore.score'].value <= 500) { (doc['PlayerScore.level'].value = 3) }
else if (doc['PlayerScore.score'].value <= 900) { (doc['PlayerScore.level'].value = 4) }
else if (doc['PlayerScore.score'].value <= 1400) { (doc['PlayerScore.level'].value = 5) }
else if (doc['PlayerScore.score'].value <= 2000) { (doc['PlayerScore.level'].value = 6) }
else if (doc['PlayerScore.score'].value <= 2700) { (doc['PlayerScore.level'].value = 7) }
else if (doc['PlayerScore.score'].value <= 3500) { (doc['PlayerScore.level'].value = 8) }
else if (doc['PlayerScore.score'].value <= 5000) { (doc['PlayerScore.level'].value = 9) }
else if (doc['PlayerScore.score'].value >= 7500) { (doc['PlayerScore.level'].value = 10) }"
}
},
因此,第一个脚本字段计算得分正确,并将其输出到表格中的列,第二个,似乎无法使其正确。
答案 0 :(得分:0)
不是解决问题的好方法。 但是使用&#34; if&#34;所有陈述而不是elseif将解决您的问题。