【发布时间】:2021-10-28 23:58:49
【问题描述】:
我无法根据文本字段中输入的内容删除用户。我的本地存储有以下数据。 users 是 key,values 是带有 username 和genrePref 的对象列表。
// Saved in localstorage
users = {
jon: {username: 'Jon', genrePref: 'rock'},
lucy: {username: 'Lucy', genrePref: 'pop'},
mike: {username: 'Mike', genrePref: 'rock'},
luke: {username: 'Luke', genrePref: 'house'},
james: {username: 'James', genrePref: 'house'},
dave: {username: 'Dave', genrePref: 'bass'},
sarah: {username: 'Sarah', genrePref: 'country'},
natalie: {username: 'Natalie', genrePref: 'bass'}
}
我在 Javascript 中编写了一个函数,当表单提交时它会调用它,它将用户名作为参数传递并调用该函数。
function deleteUser(username) {
const users = JSON.parse(localStorage.getItem("users"));
const user = users[username];
localStorage.removeItem("users", user);
}
这会从 localStorage 中删除所有内容,而不是一个用户名。 我在网上搜索了答案,并试图将对象转换为数组,但我无法让它工作。任何解决此问题的提示都值得赞赏!
【问题讨论】:
-
本地存储存储字符串。您似乎没有以任何方式解析字符串(例如,通过
JSON.parse)。您如何存储显示为“保存在本地存储中”的信息? -
removeItem("users")确实会从 localStorage 中删除users。这里没有惊喜