2016-05-16 58 views
0

我已存储的某些信息在localStorage的喜欢 -在特定条件下从存储在localStorage中的数组中删除对象?

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

有另一个阵列只具有某些人喜欢(array_second只能有那些ID的它们已经有在 $ localStorage.recent)的ID的 -

array_second=['3']; 

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

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

你想Angularjs的解决方案? – Ismail

+0

'$ localStroage.recent = $ localstroage.recent.filter(...'more here https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter –

回答

0

你只是在处理一个标准数组。 ngstorage库在这里不提供任何附加功能。

例如:

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

此代码可能对你有用,用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); 
      } 
    } 
相关问题