问题描述
我一直在尝试使下面的代码工作,这是删除功能的一部分。 但是,for 循环中的 splice 方法在运行时不断返回错误。
谁能帮我解决这个问题?
let games = JSON.parse(localStorage.getItem('games'));
for (let i =0; i < games.length; i++) {
if (games[i].gName == gName) {
console.log('found it');
games[i].splice(i,1);
//Uncaught TypeError: games[i].splice is not a function
}
}
解决方法
我认为 splice 函数返回一个错误,因为 games[i]
是一个对象,而不是一个数组。
如果要在数组上使用拼接,只需删除 [i]
部分。
games.splice(i,1);
您也可以使用 for (i in games)
作为 for (let i =0; i < games.length; i++);
的简写