javascript - "array is not a function"错误

标签 javascript arrays photoshop

我正在尝试创建一个在 Photoshop 中执行以下操作的 JS 脚本:

var textarray = array("Hello World", "Good morrow", "top of the morning");

对于数组中的每个单词

  1. 打开新文档
  2. 将单词写到图层上
  3. 运行一个 photoshop Action
  4. 保存并关闭

到目前为止,这是我的代码..

var textarray = [ "Hello World", "Good morrow", "top of the morning" ];


for (x=0; x < textarray.length(); x++) {


#target photoshop
app.bringToFront();

var strtRulerUnits = app.preferences.rulerUnits;
var strtTypeUnits = app.preferences.typeUnits;
app.preferences.rulerUnits = Units.INCHES;
app.preferences.typeUnits = TypeUnits.POINTS;

var docRef = app.documents.add(7, 5, 72);

// suppress all dialogs
app.displayDialogs = DialogModes.NO;

var textColor = new SolidColor;
textColor.rgb.red = 255;
textColor.rgb.green = 0;
textColor.rgb.blue = 0;

var newTextLayer = docRef.artLayers.add();
newTextLayer.kind = LayerKind.TEXT;
newTextLayer.textItem.contents = textarray[x];
newTextLayer.textItem.position = Array(0.75, 0.75);
newTextLayer.textItem.size = 36;
newTextLayer.textItem.color = textColor;

app.preferences.rulerUnits = strtRulerUnits;
app.preferences.typeUnits = strtTypeUnits;
docRef = null;
textColor = null;
newTextLayer = null;

// DO ACTION HERE 
//CLOSE AND SAVE
}

这是数组部分由于某种原因无法正常工作.. 错误 24:textarray.length 不是函数

最佳答案

要回答最初的问题,array( ... ) 不是您在 JavaScript 中创建数组的方式。

var textarray = [ "Hello World", "Good morrow", "top of the morning" ];

至于下一个问题(实际上应该是一个单独的问题),length 不是一个函数而是一个属性。

for (x=0; x < textarray.length; x++) { 
    ...

关于javascript - "array is not a function"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10795159/

相关文章:

android - 如何绘制内部单元格?

objective-c - Quartz Composer 中的 RGB 曲线

javascript - 动态更改 Javascript 类对象的颜色?

c# - 如何处理 ((List<string>)Session.Add ("")

Javascript 按年份 DESC、月份 ASC、日期 ASC 对数组中的日期进行排序

arrays - 为什么在创建嵌套结构数组时不能使用短数组构造函数语法?

安卓自定义对话框

javascript - 在 React I18next 中,首先初始化,显示 json key

javascript - 如何进行多个正则表达式替换

javascript - Google map 地标触发包含嵌入 map 的页面中的脚本的任何方式