【问题标题】:Localstorage: Count how many values in key when using stringifyLocalstorage:使用stringify时计算key中有多少个值
【发布时间】:2020-07-16 08:40:08
【问题描述】:

如何计算我在 1 个本地存储键中有多少个不同的值。

例如:

这是我的本地存储:

[{"id":"item-1","icon":"google.com"},{"id":"item-2","icon":"youtube.com"}]

对于这个例子,我想要 2 个不同值的警报。所以基本上我想数一下{}..

这可能吗?

【问题讨论】:

    标签: javascript jquery local-storage


    【解决方案1】:

    localStorage 是一个对象,因此只需 localStorage.length 即可为您提供条目数。

    但是我想我可能误解了你。你的意思是你有一个键,而那个键的值是一个JSON.stringify'd 对象?如果是这样,您可以使用JSON.parse(localStorage.keyname).length 来反序列化该值并计算其中有多少。

    【讨论】:

    • 基本上我有 1 个键,它有许多值,如上所示。在我的问题上,键有 2 个值。
    • 这就是我要找的:JSON.parse(localStorage.result).length 谢谢!
    【解决方案2】:

    您的对象被保存为一个数组,因此仅使用 .length 即可为您提供 {} 对的数量。试试这个(用你的数组名称替换“whatever”:

    var something = localstorage.whatever[];
    var length = something.length;
    alert("length = " + length);
    

    【讨论】:

      【解决方案3】:

      这将为您返回密钥中的项目数

      testing = JSON.parse(localStorage.getItem(KEYNAMEHERE));
      
      //Lets count how many we have back
      obj = eval('(' + testing + ')');
      
      //And the total is...
      objCount=0;
      for(_obj in obj) objCount++;
      
      alert(objCount)
      

      【讨论】:

      • 如果你运行了 JSON.parse,你就不需要运行 eval。此外,这将计算数组原型元素,如长度本身及其所有方法。
      猜你喜欢
      • 2015-05-11
      • 2019-07-24
      • 1970-01-01
      • 1970-01-01
      • 2011-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多