javascript - 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
解决方案
如果代码在浏览器中运行,那么您可以执行以下操作:
for(key in window) { console.log(window[key]) } // print all variables
这些变量与全局命名空间相关联。也就是说最上面的“this”引用或窗口对象。
推荐阅读
- java - 如何从 HashMap 中获取一些随机键
- python - Tensorflow 依次训练模型导致不同的结果
- javascript - 当对象键是数字时,JavaScript 默认排序行为在被类型转换为字符串之前
- linux - 如何在 CentOs 中使用命令行杀死所有打开的终端
- git - 更好的 git 目录排列
- r - 从 glm() 中删除完全分离的观察结果
- sql - PostgreSQL - 如何避免过多的 JOIN?
- google-apps-script - “很抱歉,发生服务器错误。请稍等,然后重试。” 持续数日且不会消失
- r - xy.coords(x, y, xlabel, ylabel, log) 中的错误:“x”和“y”长度不同
- r - lme4 R 包中双重嵌套主题的模型