jstorageで保存された配列内の単一のエントリを保存、ロード、または削除する3つの小さな関数を作成しました。
最初の 2 つの関数は完全に機能します。
ただし、単一のエントリを削除するものは、配列全体を体系的に削除するか、保存しません。
おそらく私のコードにある問題を誰かが教えてくれますか?
function local_single_delete(poi_id){
if ($.jStorage.storageAvailable()== true) { // if local storage is available
loctab = $.jStorage.get("poi_ids"); // load saved data
if (loctab == null) { // if no saved data => null array
loctab = new Array();
console.log('loctab is null');
}
for (local_i = 0; i < loctab.length; local_i++ ){ // for each saved data , looking for one one in particular
if (loctab[local_i]['id_poi'] === poi_id) { // if found
loctab[local_i]= loctab[loctab.length-1]; // the one becomes the last entry value,
loctab.length =loctab.length -1; // then we truncate the array for one position
break; // and we leave the for
}
}
$.jStorage.set("poi_ids",loctab); // write data
$.jStorage.flush(); // clear cache
}
else {
console.log('on a pas de stockage local');
}
}