我目前仍然使用javaScript for循环。
情况是这样的,在我的程序中有一个函数,它每200毫秒返回true / false值。
我目前正在尝试编写的函数应该从上面的函数中获取值(为了便于引用,我将其命名为function1)并将其存储在数组中。 我试图使用for循环将这些值存储在8元素数组中。 下面显示的是我的代码,
function myFunction1(imagestatus) //
{
var statusArray = ["","","","","","","",""];
for (var i = 0; i <= statusArray.length - 1; i++)
{
statusArray[i] = imagestatus;
}
}
现在,在第一次执行for循环期间,它将分配数组的第0个元素,true或false。在第二次执行期间,它也会做同样的事情,这是不好的。
我期望做的任务是,当function1将其值返回给myFunction时,它必须将它存储在第0个元素中。然后当它再次返回时,如果它与第0个元素中的值相同,则将其存储在第一个元素中,如果不相同,则采取不同的操作。
答案 0 :(得分:0)
从一个空数组开始:
var array[];
然后使用:
array.push(data);
将每个数据添加到数组的右端。
答案 1 :(得分:0)
听起来有很多事情需要发生。首先,您要求回调函数。其次,您需要将状态数组移动到全局范围。
var statusArray = ["","","","","","","",""];
function myFunction1(imagestatus, callback, differentAction) //
{
var i = 0;
// if its as same as the value in 0th element,
while (statusArray[i]==imagestatus)
{
i++;
}
if (i<statusArray.length && i>0)
{
// store it in the 1st element
statusArray[i]=imagestatus;
if (typeof(callback)=="function")
{
callback();
return;
}
}
// if not same, then take a different action
if (typeof(differentAction)=="function")
{
differentAction();
return;
}
}