Copy link to clipboard
Copied
I am using Javascript to script Illustrator. I have a simple for loop which goes over each swatch in the document and removes it... or so I thought. For some reason, only around half of the swatches are actually removed. No error is thrown so I have no idea why it is not working.
Code:
for(var i = 0; i < activeDocument.swatches.length; i++) {
activeDocument.swatches.remove();
}
Also note that this works for a few swatches but when you add any significant amount (I have 16), it only removes about half of them.
Maybe try in reverse?
Also be aware you do not want to remove the registration and the no-color swatch.
var doc=app.activeDocument;
for(var i=doc.swatches.length-1; i>1; i--){
doc.swatches.remove();
}
Copy link to clipboard
Copied
Maybe try in reverse?
Also be aware you do not want to remove the registration and the no-color swatch.
var doc=app.activeDocument;
for(var i=doc.swatches.length-1; i>1; i--){
doc.swatches.remove();
}
Copy link to clipboard
Copied
As V points out when working with anything with an index, you need to remove things in reverse so as not to change the index.
Find more inspiration, events, and resources on the new Adobe Community
Explore Now