【问题标题】:Best format of localStoragelocalStorage 的最佳格式
【发布时间】:2016-08-18 14:32:37
【问题描述】:

我有对象树数组

var tree = [{
    "id": "1",
    "name": "one",
    "child": [],
    }, {
    "id": "2",
    "name": "two",
    "child": [{
        "id": "21",
        "name": "twentyOne",
        "child": [],
        },{
        "id": "22",
        "name": "twentyTwo",
        "child": [],
        }],
    }, {{
    "id": "3",
    "name": "three",
    "child": [],
    },
}].

localStorage 中存储对象数组的最佳方式是哪一种? 使用其他格式会更好吗?

有几种方法:

  • 获取项目
  • getAllItem
  • 移除物品
  • 保存项目

但是有对象的子数组。这意味着我将使用递归搜索来找到必要的对象。

【问题讨论】:

  • 考虑使用JSON.stringify.. 将其保存为字符串。
  • 这完全取决于您。无论哪种方式,您都必须编写相同数量的代码来做相同的事情。不过你应该记住的是 localStorage 存储空间不是无限的。
  • 致 Reddy - 我也使用 JSON.Stringify,谢谢。
  • 谢尔盖,是的,我知道,它大约 5 mb,我问了更好的方法))由于 localStorage 的大小,使用另一种格式的结构可能会更好?
  • 您可能需要考虑对 JSON 进行压缩,例如 jsonpackLZString

标签: javascript arrays object local-storage


【解决方案1】:

将 LocalStorage 中的数据保存为数组或简单对象数组,但尽量保持 DRY(不要重复自己)。例如,如果您有人员列表,请保留人员数组,但不要为计数保留单独的变量。

你想要的基本上是一个“状态”。只要你保持最小,你会没事的。然后您可以使用lodashunderscore 从该数组中查找、合并、添加、删除元素。

【讨论】:

    猜你喜欢
    • 2022-12-12
    • 1970-01-01
    • 2013-05-25
    • 2011-01-11
    • 2011-05-17
    • 1970-01-01
    • 2011-03-18
    • 2015-01-24
    • 1970-01-01
    相关资源
    最近更新 更多