我有一个变量列表(例如:userList = [user1, user2, user3...]),每个变量都存储在本地存储中,并且值为 1 或 0。
现在我试图做到这一点,如果数组中的一个值(例如用户 2)的值为 1,则该数组中的每个其他变量的值都设置为 0。
这是我的数组(它很长,所以我只输入了 3 个值):
var usernameAlphaLog = [
localStorage.getItem("user1-log"),
localStorage.getItem("user2-log"),
localStorage.getItem("user3-log")...
]
最佳答案
简单地说,你的做法是错误的。
使用带有键的对象,并将其存储为 JSON
var users = {user1 : 1, user2 : 0, user3 : 0, user4 : 0 };
然后,当你想改变某些东西时,你就会这样做
for (var key in users) users[key] = 0;
users['user2'] = 1;
并且您已将 user2
设置为 1
,并将所有其他设置为 0
要存储它,您需要这样做
localStorage.setItem('users', JSON.stringify(users));
并获取它
var users = JSON.parse(localStorage.getItem('users'));
这比将每个键/值对存储在本地存储中要简单得多,并且可以通过更新、更改等功能轻松扩展。
关于javascript - 如何检查变量是否与列表/数组中的其他变量具有相同的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46491912/