首页 > 解决方案 > 获取本地存储中的所有项目

问题描述

嗨,我有这个本地存储,我想用密钥购买 user_film 获取本地存储中的所有项目:

key: buy user_film{[""The Silence of the Lambs"",""fats and furiuos""]}

我尝试使用密钥购买 user_film 将所有项目放在本地存储中:

var film=JSON.parse(JSON.stringify(localStorage.getItem("buy user_film")));
    var pos=JSON.parse(localStorage.getItem("buy user_film")).length;
    for(var i=0;i<=pos;i++){
        var value = localStorage[i];    
        console.log(localStorage.getItem("buy user_film",value));
    }

控制台的输出是未定义的。我能怎么做?

标签: javascript

解决方案


您的示例中有一些令人困惑的小部分。

  1. 您可以使用键名“购买 user_film”,但我不推荐。因为你以后可能会遇到一些问题。(例如动态键名。)

key: 购买 user_film{[""沉默的羔羊"",""fats and furiuos""]}

您可以在数组中包含对象,但反之则不行

3.

film=JSON.parse(JSON.stringify(localStorage.getItem("buy user_film")));

首先,您将字符串化并稍后解析为一个对象。现在在这里没有任何意义。

4.

变量值 = localStorage[i];

这部分我不太明白。按电影数组的长度迭代存储是没有意义的?也许:您希望在 lcoalstorage 中有一个名为“沉默的羔羊”的物品?比我建议你需要像 if(localStorage.has(film[i]))) {...} 这样的条件。

诺特:你的意思是:“速度与激情”

试试这个:

var obj = JSON.parse(localStorage.getItem("buy user_film"));
var pos = obj.length;
var i;
for(i=0;i<pos; i++){
  console.log(obj[i]);
}

推荐阅读