我对 JavaScript 很陌生,遇到了一个我找不到解决方案的问题。我正在为我的 APCS 最终项目开发一款游戏,并尝试为其添加排行榜。为了找到顶级玩家,我将所有高分放入一个数组中,从高到低排序,然后搜索分数与数组中前 5 个数字匹配的 5 个用户名。我正在使用 AppLab 来创建它,并且 AppLab 具有内置的数据库功能,这就是“readRecords 的用途。但我的问题是,当我使用 for 循环填充数组时,人口不存在于该函数即使数组变量是在函数之外创建的,这里的代码...
function leaderGrabEasy() {
var leaderScores = [];
var leaders = [];
readRecords("userData",{},function(records) {
for (var i = 0; i < records.length; i++) {
leaderScores.push(records[i].E_highscore);
}
leaderScores.sort(function(a, b){return b-a});
});
readRecords("userData",{E_highscore:leaderScores[0]},function(records) {
for (var i = 0; i < records.length; i++) {
leaders.push(records[i].username);
}
console.log(leaders);
});
}
当我尝试为“leaderScores [0]”中的任何内容读取数据库列“E_highscores”时,就会出现此问题
readRecords("userData",{E_highscore:leaderScores[0]},function(records) {
但是因为数组在第一个函数之外是空的,所以数组中的那个位置是空的。提前感谢您的帮助!
-在室内