我正在做一个大学项目,需要做一个测验游戏。现在,我正在尝试进入前十名。我在第二条推送线上遇到了错误。奇怪的是,第一个运行良好。我遇到的错误在下图上。

var topTen = [];
var data = { "name": localStorage.getItem("topTenPlayer"), "points": pontos };
var topTenAux = [];
if (localStorage.getItem("topTenList") == null) {
    topTen.push(data);
} else {
    topTenAux = JSON.parse(localStorage.getItem("topTenList"));
    topTenAux.push(data);
}
localStorage.setItem("topTenList", JSON.stringify(data));
console.log(topTen);


image of the error

最佳答案

第二个push不起作用的原因是,您将其从Array覆盖到了topTenAux = JSON.parse(localStorage.getItem("topTenList"));这里的Object,因此Objects没有push方法。

相反,您可以添加一个新的key:value对以及您要添加的信息
topTenAux.new_data = data;

如果以后需要,可以使用console.log(topTenAux.new_data)进行调用

09-19 02:52