これが以前に尋ねられた場合は申し訳ありませんが、ここの他の投稿から解決策を見つけることができないようです.
ローカル ストレージに json 配列を作成しようとしていますが (問題ありません)、新しい値を追加する前にエントリが既に存在するかどうかを確認したいと考えています。
Json自体
[{"title":"title1","url":"somefile1.pdf","background":"bg1.png"},
{"title":"title2","url":"somefile2.pdf","background":"bg2.png"},
{"title":"title3","url":"somefile3.pdf","background":"bg3.png"}]
一意のエントリのみが追加されていることを確認するには、どのように配列にクエリを実行すればよいでしょうか?
配列に追加するコードは次のとおりです
var oldItems = JSON.parse(localStorage.getItem('itemsArray')) || [];
var newItem = {
'title': title,
'url': url,
'background': background
};
// Need to check the newItem is unique here //
oldItems.push(newItem);
localStorage.setItem('itemsArray', JSON.stringify(oldItems));
localstorage オブジェクトを設定する前に、代わりに jquery unique 関数を使用できると思いました
var cleanedItems = $.unique(oldItems);
localStorage.setItem('itemsArray', JSON.stringify(cleanedItems));
しかし、それはうまくいきませんでした...