splice 方法返回错误:不是函数

问题描述

我一直在尝试使下面的代码工作,这是删除功能的一部分。 但是,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++); 的简写