【问题标题】:delete a Object from an Array stored in localStorage on a specific condition?在特定条件下从存储在 localStorage 中的数组中删除对象?
【发布时间】:2016-05-16 16:35:46
【问题描述】:

我已将某些信息存储在 localStorage 中,例如-

$localStorage.recent = [{'id':1,'name':'abc','is_availbale':1},{'id':2,'name':'xyz','is_availbale':1},{'id':3,'name':'pqrs','is_availbale':0}];

有另一个数组,它只有某些人的 id,比如(array_second 只能有那些已经存在的 id $localStorage.recent)-

array_second=['3'];

我想从 $localStorage.recent 中删除与 array_second 中的 id 相对应的那些条目。预期输出为-

$localStorage.recent = [{'id':1,'name':'abc','is_availbale':1},{'id':2,'name':'xyz','is_availbale':1}];

【问题讨论】:

标签: javascript angularjs local-storage


【解决方案1】:

您只是在处理一个标准数组。 ngstorage 库在这里没有为您提供任何额外的功能。

例如:

$localStorage.recent = $localStorage.recent.filter((person) => {
    return second_array.indexOf(person.id) !== -1;
});

【讨论】:

    【解决方案2】:

    这段代码可能对你有用,用javascript写的

    var fullArr =[{'id':1,'name':'abc','is_availbale':1{'id':2,'name':'xyz','is_availbale':1},{'id':3,'name':'pqrs','is_availbale':0}];
    
         var toDelArr = [1];
         for(var i=0;i<fullArr.length;i++){
              if(toDelArr[0] == fullArr[i].id){ 
              fullArr.splice(i, 1); 
              } 
         }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-07
      • 1970-01-01
      • 2015-08-01
      • 1970-01-01
      • 2012-04-02
      • 2019-04-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多