如果删除了 localStorage 键,则将所有下一个键移动 1 个位置
If localStorage key is removed, move all next keys by 1 place
我有这种情况,我有 localStorage
个键
0,1,2,3
如果我删除键 1
,在我的循环中它会在到达位置 1
时中断,而不是搜索下一个 2
、3
等。所以我的想法是当我删除一个键时,例如键 1
,我希望所有下一个键都向上移动一个位置。
我正在使用 Angular 1.3。
for (var i = 0; i < localStorage.length; i++) {
$scope.stored_data.push(ls.get(i));
}
我也愿意接受这个问题的替代解决方案。只要我得到包含数据的数组并且循环在遍历数组时不会中断,localStorage
就可以了。
这是解决您的问题的另一种方法。不要单独存储每个值,试试这个:
//Store a list of the values as an array
var list = ["Value 1", "Value 2", "Value 3"];
//Delete the first value of the array, shifting everything forward
list.shift();
//Since local storage only supports strings, we must stringify the array
localStorage["list"] = JSON.stringify(list);
//When it's time to retrieve the list, parse it back to an array from JSON
list = JSON.parse(localStorage["list"]);
我有这种情况,我有 localStorage
个键
0,1,2,3
如果我删除键 1
,在我的循环中它会在到达位置 1
时中断,而不是搜索下一个 2
、3
等。所以我的想法是当我删除一个键时,例如键 1
,我希望所有下一个键都向上移动一个位置。
我正在使用 Angular 1.3。
for (var i = 0; i < localStorage.length; i++) {
$scope.stored_data.push(ls.get(i));
}
我也愿意接受这个问题的替代解决方案。只要我得到包含数据的数组并且循环在遍历数组时不会中断,localStorage
就可以了。
这是解决您的问题的另一种方法。不要单独存储每个值,试试这个:
//Store a list of the values as an array
var list = ["Value 1", "Value 2", "Value 3"];
//Delete the first value of the array, shifting everything forward
list.shift();
//Since local storage only supports strings, we must stringify the array
localStorage["list"] = JSON.stringify(list);
//When it's time to retrieve the list, parse it back to an array from JSON
list = JSON.parse(localStorage["list"]);