Javascript Photoshop 删除路径一一错误?
Javascript Photoshop delete paths one by one bug?
Photoshop CC 2017。使用此循环逐条删除路径会导致某些路径(共 8 个)仅被删除:
for(i = 0; i < app.activeDocument.pathItems.length; i++) {
alert(i)
app.activeDocument.pathItems[i].remove();
}
报告的长度为 8。但是 alert(i) 只显示 4 次。仅当 运行 循环多次时,所有路径才会被删除。我正在一个一个地删除它们,因为我想保留一个具有特定名称的路径。有什么想法吗?
您在遍历它时正在更改 pathItems
。当您删除项目 i
时,位置 i
将有一个您跳过的新项目。
如果你向后循环它不会导致任何问题
for(i = app.activeDocument.pathItems.length -1; i >= 0; i--) {
alert(i)
app.activeDocument.pathItems[i].remove();
}
在这种情况下,您可以使用 pathItems.removeAll()
。
Photoshop CC 2017。使用此循环逐条删除路径会导致某些路径(共 8 个)仅被删除:
for(i = 0; i < app.activeDocument.pathItems.length; i++) {
alert(i)
app.activeDocument.pathItems[i].remove();
}
报告的长度为 8。但是 alert(i) 只显示 4 次。仅当 运行 循环多次时,所有路径才会被删除。我正在一个一个地删除它们,因为我想保留一个具有特定名称的路径。有什么想法吗?
您在遍历它时正在更改 pathItems
。当您删除项目 i
时,位置 i
将有一个您跳过的新项目。
如果你向后循环它不会导致任何问题
for(i = app.activeDocument.pathItems.length -1; i >= 0; i--) {
alert(i)
app.activeDocument.pathItems[i].remove();
}
在这种情况下,您可以使用 pathItems.removeAll()
。