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

Javascript 如果删除了localStorage键,则将所有下一个键移动1个位置,javascript,angularjs,local-storage,angular-local-storage,Javascript,Angularjs,Local Storage,Angular Local Storage,在这种情况下,我有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)); } for(var i=0;i

在这种情况下,我有
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));
 }
for(var i=0;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"]);

这里有另一种解决问题的方法。不要单独存储每个值,请尝试以下操作:

//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"]);

听起来像是每个
的问题,而不是
的问题。试试@RobertHarvey,但有个问题。例如,如果我对(localStorage中的var I){console.log(I);}执行此操作,则日志输出如下:
2 1 0 key getItem setItem removietem clear length
,但我只需要键(0,1,2..)我想把它们的值放入数组中。如果只取通过的
I
,会怎么样?听起来像是每个
的问题,而不是
的问题。试试@RobertHarvey,但有个问题。例如,如果我对(localStorage中的var I){console.log(I);}
执行此操作,则日志输出如下:
2 1 0 key getItem setItem removietem clear length
,但我只需要键(0,1,2..),并且我希望将它们的值推入数组中。如果您只获取传递的
I
,该怎么办?