Javascript Photoshop删除路径一个个bug?

时间:2017-10-04 07:15:49

标签: javascript photoshop extendscript photoshop-script

Photoshop CC 2017.使用此循环逐个删除路径会导致某些路径(总共8个)被删除:

 for(i = 0; i < app.activeDocument.pathItems.length; i++) {
             alert(i)
             app.activeDocument.pathItems[i].remove();
        }   

长度报告为8.但是警报(i)仅显示4次。仅在多次运行循环时才会删除所有路径。我一个接一个地删除它们,因为我想保留一个具有特定名称的路径。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

在循环播放时,您正在更改pathItems。当您删除项i时,您跳过的位置i会有一个新项目。 如果你向后循环,它不会导致任何问题

 for(i = app.activeDocument.pathItems.length -1; i >= 0; i--) {
    alert(i)
    app.activeDocument.pathItems[i].remove();
 } 

答案 1 :(得分:1)

在这种情况下,您可以使用pathItems.removeAll()