使用Javascript从数组中删除项
我有一个javascript数组,我将把这个数组存储在本地存储器中使用Javascript从数组中删除项,javascript,jquery,arrays,Javascript,Jquery,Arrays,我有一个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 Strora
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 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);
第一个定位的数组值未从数组项中删除。使用此函数可以完全删除所有其他值,但数组中的第一个值不会从数组中删除。有人能推荐更好的选项吗?要删除第一个元素,必须使用index value=0,而不是1尝试使用此函数
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);
从数组中删除项的简单方法如下:
// 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);
函数removietem=function(Id)错误尝试var removietem=function(Id)而不是在控制台中尝试您的代码,对我来说工作正常除了函数签名,代码正常工作。不幸的是,这不是一个问题,因为OP使用
result.indexOf(Id)
查找某个Id的索引,在本例中var Id=1代码>是的,只是观察到