我有一个对象存储在本地存储中。我想检索对象并向其添加键/值项。这是代码
var testObject = { 'one': 1, 'two': 2, 'three': 3 };
// Put the object into storage
localStorage.setItem('testObject', JSON.stringify(testObject));
// Retrieve the object from storage
var retrievedObject = localStorage.getItem('testObject');
var newdata = JSON.parse(retrievedObject);
var obj2 = {"four":"4"};
Object.assign(newdata, obj2);
$.each(JSON.parse(retrievedObject), function (index, value) {
console.log(index+" "+value);
});
新项目未添加到 testObject
。如何将项目添加到现有对象?
最佳答案
您正在成功更改 newdata
但您没有使用它。相反,您再次调用 JSON.parse(retrievedObject)
。
var testObject = { 'one': 1, 'two': 2, 'three': 3 };
// Put the object into storage
// Just use a variable because we cant use localstorage on snippet
var storage = JSON.stringify(testObject);
// Retrieve the object from storage
var retrievedObject = storage;
var newdata = JSON.parse(retrievedObject);
var obj2 = {"four":"4"};
Object.assign(newdata, obj2);
$.each(newdata, function (index, value) {
console.log(index+" "+value);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
关于javascript - 添加键/值对失败,对象分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38859498/