我有一个javascript数组,我将把这个数组存储在本地存储
中 var result;
result = [1,2,3,4,5];
localStorage.setItem('result', JSON.stringify(result));
以上是数组结果,我将数组值设置为本地存储
function removeItem(Id){
result= JSON.parse(localStorage.getItem('result'));// get array values from local Strorage
var index = result.indexOf(Id);// find index position
result.splice(index , 1); //and removing the Id from array
localStorage.setItem('result', JSON.stringify(result));// result set to local storage
}
函数调用
var id = 1;
removeItem(id);
第一个定位的数组值不是从数组项中删除。使用此函数将完全删除所有其他值但数组中的第一个值不从数组中删除。任何人都可以建议更好的选择吗?
答案 0 :(得分:1)
要删除第一个元素,必须使用索引值= 0而不是1
答案 1 :(得分:0)
尝试使用此功能。
function removeItem(arr) {
var what, a = arguments, len = a.length, ax;
while (len > 1 && arr.length) {
what = a[--len ];
while ((ax= arr.indexOf(what)) !== -1) {
arr.splice(ax, 1);
}
}
return arr;
}
例如:
removeItem(result,1);
答案 2 :(得分:0)
从数组中删除项目的简单方法如下:
// as a function
function removeitem(item, arr){
var i; while( ( i = arr.indexOf(item)) != -1)arr.splice(i, 1);
}
像这样使用
var result;
result = [1,2,3,4,5];
removeitem(1, result);