2016-05-16 69 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); 
      } 
    } 
相關問題