我有一个本地存储键 'st
',其值为:
[{"id":"es","state":"5hwrte5"},{"id":"bs","state":"dakiei3"}]
如果最后一个keyvalue不存在,我想在结尾添加一个更多的keyvalue,以此来达到以下结果:
[{"id":"es","state":"5hwrte5"},{"id":"xs","state":"dakiei3"},{"id":"NEWKEY","state":"off"}]
所以我尝试的方法是:
if (typeof getstate(json, 'NEWKEY') == "undefined"){
localStorage["st"] = JSON.stringify([{
"id": "es",
"state": getstate(json, "es")
}, {
"id": "xs",
"state": getstate(json, "bs")
}, {
"id": "NEWKEY",
"state": "off"
}])
}
getstate
可以为我提供特定ID的状态。
现在主要问题是,我希望保持值不变(因此需要在获取时检索它们),并使用最简单的方法,这样如果我的密钥有30个不同的ID,并且我想添加1个ID,我就不必检索所有30个ID的值。
=== undefined
,无需使用typeof
,除非你正在处理可能未定义的变量(例如typeof foo == 'undefined'
,因为在这种情况下foo === undefined
会出错)。 - ThiefMaster