我在我的网站上进行了测验,并使用本地存储来保存最近的分数。
我喜欢在警报中打印它们,并且效果很好,但是我希望在新行中打印每个乐谱。
这怎么可能?
还可以在警报中放置标题(或比分上方的文本)吗?
function highscore() {
var lastscores = localStorage.getItem("lastscores.sort().reverse()").split("\n")
}
答案 0 :(得分:2)
例如,您应该使用 join 函数而不是 split :
const scores = [1,2,3];
alert(scores.join("\n"))
答案 1 :(得分:1)
尝试一下
alert(scores.toLocaleString().replace(/,/g, '\n'))
答案 2 :(得分:0)
尝试以下代码:
function highscore() {
var lastscores = localStorage.getItem("lastscores.sort().reverse()").replace(/ *, */g, '<br>');
}
答案 3 :(得分:0)
在此代码中,我首先将一些分数保存在数组中,然后从localStorage
中检索它,然后将其拆分为数组,因为它是字符串,因此将其解析为整数,然后按降序对其进行排序。如果您想将b-a
替换为a-b
的升序
localStorage.setItem("lastscores",[18,44,5,7]);
var title = "Your HighSocres";
function highscore() {
var lastscores =
localStorage.getItem("lastscores")
.split(',')
.map(function(s){
return parseInt(s); //convert to integer(Number)
})
.sort(function(a,b){
return b -a //sort decending)
})
.join('\n')
var toAlert = title + "\n" + lastscores
alert(toAlert)
}
对于标题,您可以执行以下操作:
const allString = "Your socres \n" + lastscores