如果删除了 localStorage 键,则将所有下一个键移动 1 个位置

If localStorage key is removed, move all next keys by 1 place

我有这种情况,我有 localStorage 个键

0,1,2,3

如果我删除键 1,在我的循环中它会在到达位置 1 时中断,而不是搜索下一个 23 等。所以我的想法是当我删除一个键时,例如键 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"]);