2016-05-20 9 views
0

配列から文字列を削除しようとしていますが、文字列がそこに残っています。助言がありますか?スプライシングはとても価値がお気に入りのアレイではなくのlocalStorageに除去されるのlocalStorage配列から特定の文字列エントリを削除する方法

var favorites = JSON.parse(localStorage.getItem('favoritesInfo')) || []; 

から値を取得お気に入りアレイに行われている上記のコードで

$scope.removeFavorites = function (word) { 
    debugger; 
    // retrieve it (Or create a blank array if there isn't any info saved yet), 
    var favorites = JSON.parse(localStorage.getItem('favoritesInfo')) || []; 

    for (var i = favorites.length - 1; i >= 0; i--) { 
     if (favorites[i] === word { 
     favorites.splice(i, 1); 
     console.log(favorites[i]); 
     } 
    } 
    //favorites.pop(); 
    // localStorage.setItem('favoritesInfo', JSON.stringify(favorites)); 
    console.log(localStorage.getItem('favoritesInfo')); 
    } 
+0

あなたのコードに構文エラーがあります。 'if'行に') 'がありません。 – Jamiec

+2

' if(favorites [i] === word {'条件付き' ??? – Jai

+2

構文エラーがない場合、コードは正常に動作します。https://jsfiddle.net/6hsz4qs0/ – Jamiec

答えて

0

localStorage.getItem('favoritesInfo')にはまだ完全な値が含まれています。

あなたには2つの解決策があります。

  1. が必要だったフィルタリングされたリストのお気に入り配列を使用します。
  2. ローカルストレージをお気に入りアレイで更新して、 を同期させてください。
関連する問題