gpt4 book ai didi

javascript - ExtendScript switch 中的多个条件

转载 作者:行者123 更新时间:2023-12-01 02:12:57 25 4
gpt4 key购买 nike

我有一个 switch(),它需要包含多个条件才能为真。
在线社区告诉我应该将它们分为两种情况,然后定义它。像这样:

function changeGrep(searchFor){
app.findGrepPreferences.findWhat = searchFor;
var myFound = myDoc.findGrep();
for(i=0; i<myFound.length; i++){
switch(searchFor){
case "^201\\d$":
case myFound[i].parent.fillColor == app.activeDocument.swatches.item(14):
myFound[i].parent.fillColor = app.activeDocument.swatches.item(3);
break;

case "^-?\\+?\\(?((\\d+,)?(\\d+,)?(\\d+)(\\.\\d+)?%?\\)?)$":
case myFound[i].parent.fillColor == app.activeDocument.swatches.item(14):
myFound[i].parent.fillColor = app.activeDocument.swatches.item(4);
break;

}
}
}

changeGrep("^-?\\+?\\(?((\\d+,)?(\\d+,)?(\\d+)(\\.\\d+)?%?\\)?)$");
changeGrep("^201\\d$");

为了完整,首先将整个表格放置为红色(14)。如果两个条件成立,它应该改变颜色。但是它并不关心第二个情况

关于如何在扩展脚本中执行此操作有什么想法吗?

最佳答案

您可以尝试将其作为普通 JS 解决方案。将 true 传递给 switch 语句,然后每个 case 都可以包含一个条件。

switch (true) {
case (<condition> && <condition>):
// do something
break;
case (searchFor === '^201\\d$'):
// do other thing
break;
case ((searchFor === '^201\\d$') && (myFound[i].parent.fillColor == app.activeDocument.swatches.item(14)):
// code
break;
}

关于javascript - ExtendScript switch 中的多个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49633075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com