Javascript 在两个本地存储项之间共享对象

Javascript 在两个本地存储项之间共享对象,javascript,local-storage,Javascript,Local Storage,目前,我有两个localStorage项,它们存储的对象数组总计如下,arr是一个与项数组中的对象无关的对象数组: { name: 'foo', arr: [] } 这两个项目在其对象的arr中可以有相同的对象,但我不想复制它们之间共享的每个对象,以帮助避免达到存储限制。我该怎么做呢?您可以计算arr内容的md5散列,并将每个arr存储在单独的localStorage项中,并将散列值设置为该localStorage项的键的值。(注意md5函数不是本机函数) 现在我们要存储的对象

目前,我有两个localStorage项,它们存储的对象数组总计如下,
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
}