【发布时间】:2014-03-04 12:21:39
【问题描述】:
我有一个名为“thisIsMyContainerArray”的多维数组,其中包含另外两个数组的内容。
我要做的是检查“thisIsMyContainerArray”数组中的每个项目,并在控制台中分别记录该数组中的每个项目(在本例中为另外两个数组),并且每 5 秒执行一次。
到目前为止,我有以下代码:
var thisIsMyContainerArray = new Array();
var thisIsMyArray1 = new Array('val1', 'val2', 'val3', 'val4');
var thisIsMyArray2 = new Array('valA', 'valB', 'valC', 'valD');
thisIsMyContainerArray.push(thisIsMyArray1, thisIsMyArray2);
for (var i = 0; i < thisIsMyContainerArray.length; i++) {
var t1 = setInterval(tester,5000);
function tester() {
console.log(thisIsMyContainerArray[i]);
}
}
我总是在控制台中得到以下输出,每 5 秒一次:
["val1", "val2", "val3", "val4"]
["val1", "val2", "val3", "val4"]
这是我想要的结果,我需要在控制台中看到这个,而不是我之前提到的输出:
["val1", "val2", "val3", "val4"]
["valA", "valB", "valC", "valD"]
任何帮助都将不胜感激,因为我已经坚持了几个小时了,我只是想不通。 :( 我尝试将它传递给测试器函数,但结果却是“未定义”。
【问题讨论】:
-
您不能将
setInterval()更改为:setInterval(function(){console.log(thisIsMyContainterArray[i]);});吗?这将解决您遇到的错误。 -
或传递变量“i”。
tester(i);function tester(arrayIndex){console.log(thisIsMyContainerArray[arrayIndex]);} -
在回复您的第一条评论时,这会给我一个错误“Uncaught ReferenceError: thisIsMyContainterArray is not defined”。
标签: javascript multidimensional-array