Javascript 在两个本地存储项之间共享对象
目前,我有两个localStorage项,它们存储的对象数组总计如下,Javascript 在两个本地存储项之间共享对象,javascript,local-storage,Javascript,Local Storage,目前,我有两个localStorage项,它们存储的对象数组总计如下,arr是一个与项数组中的对象无关的对象数组: { name: 'foo', arr: [] } 这两个项目在其对象的arr中可以有相同的对象,但我不想复制它们之间共享的每个对象,以帮助避免达到存储限制。我该怎么做呢?您可以计算arr内容的md5散列,并将每个arr存储在单独的localStorage项中,并将散列值设置为该localStorage项的键的值。(注意md5函数不是本机函数) 现在我们要存储的对象
arr
是一个与项数组中的对象无关的对象数组:
{
name: 'foo',
arr: []
}
这两个项目在其对象的arr中可以有相同的对象,但我不想复制它们之间共享的每个对象,以帮助避免达到存储限制。我该怎么做呢?您可以计算
arr
内容的md5散列,并将每个arr
存储在单独的localStorage
项中,并将散列值设置为该localStorage
项的键的值。(注意md5
函数不是本机函数)
现在我们要存储的对象将如下所示:
{
name: 'foo',
arr: key //note we are just storing a small key here
}
现在,由于具有相同内容的对象将具有相同的哈希值,如果需要存储具有相同arr
值的对象,则不会使用额外的存储空间。这不起作用,在本地存储中,仅存储字符串(不是字符串对象,而是字符序列),与Cookie类似。只需将其存储在自己的密钥中即可。我希望将单个对象存储在arr
中,而不是arr
本身。但这确实有效
{
name: 'foo',
arr: key //note we are just storing a small key here
}