Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用变量获取localStorage数组项的值?_Javascript_Jquery_Local Storage - Fatal编程技术网

Javascript 如何使用变量获取localStorage数组项的值?

Javascript 如何使用变量获取localStorage数组项的值?,javascript,jquery,local-storage,Javascript,Jquery,Local Storage,我有一些本地存储密钥,在dev tools->storage中看起来像这样 panel_1 {"name":"test_name", "item_1":"test_item", "link_1":"test_link"}) …我拥有的每个面板都有多个项目和链接,其名称中的数字会增加。我试图浏览每个面板,对于面板,我希望在网页上显示第一个项目和链接,然后继续循环浏览,直到没有更多的项目或链接,然后再对下一个面板执行相同的操作。在我尝试这个的时候,它说“未定义”。如何获得正确的值?现在我的代码看起

我有一些本地存储密钥,在dev tools->storage中看起来像这样

panel_1 {"name":"test_name", "item_1":"test_item", "link_1":"test_link"})
…我拥有的每个面板都有多个项目和链接,其名称中的数字会增加。我试图浏览每个面板,对于面板,我希望在网页上显示第一个项目和链接,然后继续循环浏览,直到没有更多的项目或链接,然后再对下一个面板执行相同的操作。在我尝试这个的时候,它说“未定义”。如何获得正确的值?现在我的代码看起来像这样

var total_keys = localStorage.length;
var panels = [];
var key;
var location = $('#panels .wrapper article:first-child()');

for($i = 0; $i < total_keys; $i++) {
    key = localStorage.key($i);
    if(key.slice(0, 6) === 'panel_') {
        panels.push(key);
    };
};

var total_panels = panels.length;

for(var $i = 0; $i < total_panels; $i++) {
    var panel = JSON.parse(localStorage.getItem(panels[$i]));
    var items = function() {
        for(var $x = 1; $x <= 5; $x++) {
            var item = 'item_'+$x;
            alert(panel.item);
        };
    };

    location.after(items);
};
var total_keys=localStorage.length;
var面板=[];
var键;
var location=$('#panels.wrapper article:first-child()');
对于($i=0;$i对于(var$x=1;$x我想你指的是
panel[item]
,而不是
panel.item
(意思是
panel[“items”]
),它会解释“未定义”的值

最内部的循环应该是

for(var $x = 1; $x <= 5; $x++) {
    var item = 'item_'+$x;
    alert(panel[item]);
};

for(var$x=1;$x我想你指的是
panel[item]
而不是
panel.item
(意思是
panel[“items”]
)。它会解释“未定义”的值

最内部的循环应该是

for(var $x = 1; $x <= 5; $x++) {
    var item = 'item_'+$x;
    alert(panel[item]);
};

for(var$x=1;$x
localStorage.key($i);
@briosheje@Utkanos噢,谢谢。以前从未见过,API示例中甚至没有提到过。谢谢分享。为什么
items
是一个函数?@adiga因为它在
中用作回调。在
位置
之后,它是一个jQuery选择器。()。问题只是
警报(panel.item);
未定义,它应该是
警报(panel[item]);
localStorage.key($i)
@briosheje@Utkanos噢,谢谢。以前从未见过,API示例中甚至没有提到过。谢谢分享。为什么
items
是函数?@adiga因为它在
中用作回调。在
之后
位置
,这是一个jQuery选择器。()问题只是
警报(panel.item);
未定义,应该是
警报(面板[项目])这是一条评论,不是对问题的回答。请使用评论系统。公平地说,你的评论实际上暗示了正确的答案——只是你的措辞听起来更像是要求澄清。否决票被撤回。这是一条评论,不是对问题的回答。请使用评论系统。为了你的评论实际上暗示了正确的答案——只是你的措辞听起来更像是要求澄清。否决票被撤回。