【发布时间】:2019-03-07 03:50:47
【问题描述】:
所有,这是我在这里的第一个问题,所以我希望我的措辞正确并提供足够的信息来处理。
我在本地存储中有一个名为 faveGifs 的键,其中存储了几个项目,每个项目都是一个对象。我希望能够单独删除这些对象。到目前为止,我可以删除第一个对象,即位置 0 的对象。我希望能够在它们所在的任何索引处删除它们,例如位置 2。我知道我必须获取每个对象的索引才能实现这一点,但是,当我通过 indexOf() 运行密钥时,我得到的唯一索引是 -1。
这是我的本地存储密钥的外观:
faveGifs[
{id: 'jijijoj',rating: 'g'},
{id: 'iojiojoi',rating: 'r'},
{id: 'eawfe',rating: 'pg'},
{id: 'ewfewfwe',rating: 'g'},
{id: 'ewfewfew',rating: 'r'}
];
这是我的代码:
$(document).on("click", "#remove", function () {
let faveGifs = JSON.parse(localStorage.getItem("faveGifs"));
let faveGif = faveGifs.map(faveGif => faveGif.id);
//Neither of the following has worked for me:
//let index = faveGif.indexOf(faveGif);
//let index = faveGif.indexOf(faveGifs);
console.log(index);
// faveGifs.splice(index, 1);
// localStorage.setItem("faveGifs", JSON.stringify(faveGifs));
// populateFaves();
});
我曾尝试使用类似问题的解决方案,但没有一个对我有用。我试过的有:
Remove a specific item from localstorage with js
Remove json object in localstorage using js
How do I remove an object from an array with JavaScript?
还有其他几个,但就像我说的,没有一个对我有用。
非常感谢帮助我的所有人。
【问题讨论】:
标签: javascript jquery arrays json object