2016-02-23 60 views
0

我添加一個數組localstorage。工作正常。我也可以檢索它。如何更新ID在哪裏,而不需要添加新的數組。 例子.. 我怎麼能去更新姓氏和年齡其中ID = SAM,而無需創建新的數組php更新本地存儲陣列而不添加新陣列

var objItem = {}; 
if (localstorage.getItem("records") == null) { 
    objArr = []; 
} else { 
    objArr = JSON.parse(localstorage.getItem("records")); 
} 
var ID = "sam"; 
var surname = "edward"; 
var age = "two"; 
objItem.ID = ID; 
objItem.surname = surname; 
objItem.age = age; 
objArr.push(objItem); 
localstorage.setItem("records", JSON.stringify(objArr)); 

回答

1

localStorage只是一個key-value存儲。要更新,只需保存到相同的密鑰。也就是說,你檢索你的數組,解析,更新,stringify然後保存到同一個鍵。

要找到陣列上的項目,可以使用array.filter並創建一個僅包含與ID匹配的值的數組。更新該數組中的值並保存原始數組。

let names = [...names...]; 
let matches = names.filter(person => person.ID === ID); 
matches.forEach(person => person.surname = surname); 
let toSave = JSON.stringify(names); 
// save to localstorage 
+0

真棒thanx很多。效果很好 – erny