后续效果检查数组中的值

时间:2013-01-10 17:52:55

标签: arrays date if-statement after-effects

我有一张天气图模板。而且我希望月亮图标在某些日期自动变为满月。

所以我需要表达式来检查今天的日期是某个数组或列表的一部分还是如何被调用。

所以我制作了一个文本图层,显示当前日期

D = new Date(Date(0));
D.getDate() + "/" + (D.getMonth()+1) + "/" + D.getFullYear()

我将此表达式应用于满月图标的不透明度

d = thisComp.layer("theDateLayer").text.sourceText;
vis = transform.opacity;
year = 2013;
fullM = ["27/3","25/4","25/5","23/6","22/7","21/8","19/9","19/10","17/11","17/12"];

if (d == fullM"/year")
vis = 100
else
vis = 0;

但它不起作用。我猜它是因为日期必须与整个数组相同。我需要写一下,我只需要其中的任何项目。怎么样?

由于

1 个答案:

答案 0 :(得分:0)

你想用声明d == fullM"/year"完成什么?我想你可能会尝试做这样的事情:

d = thisComp.layer("asdf").text.sourceText;
year = "2013";
fullM = ["27/3","25/4","25/5","23/6","22/7","21/8","19/9","19/10","17/11","17/12"];


for(var i = 0; i < fullM.length; i++) {
    if(d == fullM[i] +"/"+ year) {
        100;
        break;
    } else {
        0;
        break;
    }
}

...假设该层的sourceText是一个等价的字符串。我的代码使用for循环来遍历fullM数组。您应该阅读JavaScript for loops