我正在尝试进行视频测验,当您点击它时会向数组中添加值1。数组大小达到[9],我试图从数组中读取数据,这样如果[0]和[9]之间的数组中的值为1,它将向计数器添加1。
我已经让它只为数组中的第一个值工作,所以我知道它有效,但我不确定如何从所有数组中读取它以检查值为1。
到目前为止我的代码:
if (clickTimes[0] == 1)
{
counter2++;
}
答案 0 :(得分:2)
更好的是,使用for each...in
循环。它与普通的for
循环没有什么不同,但它确实提供了一些同义词糖。
for each (var i:int in clickTimes)
{
if (i == 1)
{
counter2++;
}
}
答案 1 :(得分:1)
为了它的美丽......
counter2 = clickTimes.join('').replace(/0/g, '').length;
它将您的所有值放在一个字符串中,删除零并计算剩下的字符。
答案 2 :(得分:1)
var clickTimes:Array = [1,1,1,0,0,0,1,1,0] // 5 1's and 4 0's
var counter2:int = 0
clickTimes.forEach(function(obj:*){
if (obj == 1){
counter2++;
}
})
trace(counter2) // traces 5
答案 3 :(得分:0)
使用循环怎么样?
for (var i:int = 0; i < clickTimes.length; ++i)
{
if (clickTimes[i] == 1)
counter2++;
}
对于counter2
数组中值为1的每个元素,这将增加clickTimes
。
答案 4 :(得分:0)
您不需要if
。如下:
var clickTimes:Array = [1,1,1,0,0,0,1,1,0] // 5 1's and 4 0's
var counter2:int = 0;
for each (var i:int in clickTimes)
{
counter2 += i;
}
trace(counter2); //5