如何迭代js变量数组?

时间:2016-08-22 22:42:33

标签: javascript

嗯,这对我来说有点混乱,我想迭代一个数组来获取值,我不知道如何解释它:

<script>

$( document ).ready(function() {
  (function() {
var iframe = document.createElement('iframe');
iframe.onload = function() {
  var iframeKeys = Object.keys(iframe.contentWindow);
  Object.keys(window).forEach(function(key) {
    if(!(key in iframeKeys)) {
      console.log(key+" = "+window[key]);

    }
  });
};
iframe.src = 'about:blank';
document.body.appendChild(iframe);
})();
});
</script>

我想转到ccs_cc_loge_xxxxxx(xxxxx是因为它每次重新加载时都会改变),所以在这里,我想读取/获取Resultcode及其响应。

我试图读取所有这样的全局变量,所以我可以读取所有数据:

{{1}}

有任何方法可以达到这个目的吗?

1 个答案:

答案 0 :(得分:1)

虽然这首先是一个非常可怕的想法,你可以通过循环遍历你所做的所有键并保留那些匹配你需要的变量名称模式的方法来做到这一点。

因此,在循环和打印键的代码中,执行以下操作:

if(/^ccs_cc_loge_[0-9]+$/.test(key)) {
  // call code that needs to use this variable;
};

此正则表达式将匹配以ccs_cc_loge_X开头的任何变量,其中XXXX是任意数量的数字。这比使用.startsWith

之类的字符串函数更具体,与浏览器兼容