JavaScript for for循环函数

时间:2016-03-28 01:50:35

标签: javascript arrays for-loop

我目前仍然使用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个元素中的值相同,则将其存储在第一个元素中,如果不相同,则采取不同的操作。

2 个答案:

答案 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;
    }
}