目前我有两个localStorage项目存储了与此相加的对象数组,其中 library(splitstackshape)
cSplit(dat, 'colA', ' ')
是一个与项目中的对象无关的对象数组。阵列:
arr
这两个项目在其对象中可以具有相同的对象' {
name: 'foo',
arr: []
}
,但我不想复制它们之间共享的每一个,以帮助避免达到存储限制。我该怎么做呢?
答案 0 :(得分:1)
您可以计算arr
内容的md5哈希值,并将每个arr
存储在单独的localStorage
项中,并将哈希值设置为key
的值localStorage
1}}项目。 (注意md5
函数不是本机函数)
var key = md5(arr.toString());
localStorage.setItem(key, arr.toString());
现在我们要存储的对象将如下所示:
{
name: 'foo',
arr: key //note we are just storing a small key here
}
现在,由于具有相同内容的对象将具有相同的哈希值,如果发生,您需要存储具有相同arr
值的对象,您将不会使用额外的存储空间。