首页 > 解决方案 > Javascript循环遍历变量

问题描述

所以现在这是我当前的代码,我正试图找出一种方法来循环遍历我已经声明的变量(假设变量 1-9 已经有值)。我只是想知道这是否可能?

var title;
var brief;
var hover;
var whatTitle;
var whatDesc;
var whyTitle;
var whyDesc;
var funTitle;
var funDesc;
var titles = [];
var briefs = [];
var hovers = [];
var whatTitles = [];
var whatDescs = [];
var whyTitles = [];
var whyDescs = [];
var funTitles = [];
var funDescs = [];

    var obj = {'titles' : title};
    if(localStorage.getItem('titles') != null) {
        var tmp = JSON.parse(localStorage.getItem('titles'));
        for(var i = 0;i<tmp.length;i++) {
            titles.push(tmp[i]);
        }

    }
    titles.push(obj);
    localStorage.setItem("titles", JSON.stringify(titles));

如果我们打印出循环代码,我想要的输出:

var obj = {'titles' : title};
    if(localStorage.getItem('titles') != null) {
        var tmp = JSON.parse(localStorage.getItem('titles'));
        for(var i = 0;i<tmp.length;i++) {
            titles.push(tmp[i]);
        }

    }
    titles.push(obj);
    localStorage.setItem("titles", JSON.stringify(titles));

var obj = {'briefs' : brief};
    if(localStorage.getItem('briefs') != null) {
        var tmp1 = JSON.parse(localStorage.getItem('briefs'));
        for(var i = 0;i<tmp.length;i++) {
            briefs.push(tmp[i]);
        }

    }
    briefs.push(obj);
    localStorage.setItem("briefs", JSON.stringify(briefs));

var obj = {'hovers' : hover};
    if(localStorage.getItem('hovers') != null) {
        var tmp2 = JSON.parse(localStorage.getItem('hovers'));
        for(var i = 0;i<tmp.length;i++) {
            hovers.push(tmp[i]);
        }

    }
    hovers.push(obj);
    localStorage.setItem("hovers", JSON.stringify(hovers));

...etc

标签: javascripthtmlcssloopsfor-loop

解决方案


如果代码在浏览器中运行,那么您可以执行以下操作:

for(key in window) { console.log(window[key]) } // print all variables

这些变量与全局命名空间相关联。也就是说最上面的“this”引用或窗口对象。


推荐阅读