2016-04-25 65 views
-2

我正在努力從LocalStorage刪除項目的任務...這是我的LocalStorage數據JSON。刪除本地存儲JSON對象和重建陣列

{ 
"1461569942024" : 
{"t_id":1461569942024,"t_build_val":"PreBuild1","t_project_val":"18"}, 
"1461570048166" : 
{"t_id":1461570048166,"t_build_val":"PreBuild2","t_project_val":"17"} 
} 

這裏是我要怎樣做:

function removeItem(array, value) { 
    var idx = array.indexOf(value); 
    if (idx !== -1) { 
     array.splice(idx, 1); 
    } 
    return array; 
} 

var newData = removeItem(localStorage['data'], '1461569942024'); 

我想刪除吶基於對象鍵如對象:1461570048166並重新保存整個數組到localStorage的。

感謝

+0

'刪除somevar [ '1461570048166']'。 –

+0

拼接是爲數組而你有一個對象,用delete代替。 – jcubic

回答

0

試試這個代碼

var json = { 
    "1461569942024": { 
     "t_id": 1461569942024, 
     "t_build_val": "PreBuild1", 
     "t_project_val": "18" 
    }, 
    "1461570048166": { 
     "t_id": 1461570048166, 
     "t_build_val": "PreBuild2", 
     "t_project_val": "17" 
    } 
}; 

function deleteItem(input, key) { 

    delete input[key]; 

    return input 

} 

localStorage.setItem("localStore", JSON.stringify(json)); 

localStorage.setItem("localStore", JSON.stringify(deleteItem(JSON.parse(localStorage.getItem("localStore")), '1461570048166'))); 

JSON.parse(localStorage.getItem("localStore")); 
+0

您的示例不起作用對不起:https://jsfiddle.net/8mc3woa4/ – Spyder

+0

您正在收到什麼錯誤。它工作正常,試試這個小提琴「https://jsfiddle.net/8mc3woa4/2/」只是在刪除密鑰後添加了警報「1461569942024」 – Nofi

+0

我所做的是.1。)聲明Json 2.)將它存儲在本地存儲3.)從本地存儲檢索4.)刪除一個元素5.)存儲回本地存儲6.)再次從本地存儲獲取數據,檢查天氣項目是真的從本地存儲刪除....希望這是你的要求也是.. – Nofi