Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript For ExtendScript-keys()中的循环。forEach不是函数_Javascript_Arrays_Loops_Xlsx_Extendscript - Fatal编程技术网

Javascript For ExtendScript-keys()中的循环。forEach不是函数

Javascript For ExtendScript-keys()中的循环。forEach不是函数,javascript,arrays,loops,xlsx,extendscript,Javascript,Arrays,Loops,Xlsx,Extendscript,我正在使用ExtendScript和bridge将标签附着到excel文档中的文档。我正在使用js xlsx库解析excel文档。我正在运行一个for循环来解析各个单元格并获取值,当我从命令行运行它时,它可以完美地工作。然而,当我在ExtendScript中运行它时,我得到一个异常,keys().forEach不是一个函数。ExtendScript对循环的读取是否因某种原因而有所不同?我很难弄明白这一点。这是给我带来麻烦的一句话: var range = {s:{c:0, r:0}, e:{c:

我正在使用ExtendScript和bridge将标签附着到excel文档中的文档。我正在使用js xlsx库解析excel文档。我正在运行一个for循环来解析各个单元格并获取值,当我从命令行运行它时,它可以完美地工作。然而,当我在ExtendScript中运行它时,我得到一个异常,keys().forEach不是一个函数。ExtendScript对循环的读取是否因某种原因而有所不同?我很难弄明白这一点。这是给我带来麻烦的一句话:

var range = {s:{c:0, r:0}, e:{c:1,r:30}};
for (var R = range.s.r; R <= range.e.r; ++R) {
  for (var C = range.s.c; C <= range.e.c; ++C) {
      var cell_address = xls.utils.encode_cell({c:C, r:R});
var range={s:{c:0,r:0},e:{c:1,r:30};

对于(var R=range.s.R;R我发现了这一点。错误在文件的下面。ExtendScript或我的版本不支持forEach循环,因此我必须为forEach函数编写文件并导入它。

我发现了这一点。错误在文件的下面。ExtendScript或我的版本不支持forEach循环每个函数都会循环,因此我必须写出forEach函数的文件并导入它。

Extendscript作为一种语言,被困在ECMAScript 3中–因此它本就不知道
Object.keys()
,也不知道
Array.forEach()
。甚至不知道
JSON

第3页正式提到了这一点,其中写道:

After Effects脚本使用Adobe ExtendScript语言,这是一种 多个Adobe应用程序使用的JavaScript扩展形式, 包括Photoshop、Illustrator和InDesign.ExtendScript 根据ECMA-262实现JavaScript语言 规范。后效脚本引擎支持第三种 ECMA-262标准的版本,包括其符号和词汇 约定、类型、对象、表达式和语句 还实现了E4X ECMA-357规范,该规范定义了访问权限 将数据转换为XML格式

以上内容在PS脚本指南中找不到,也没有参考


如果您想使用ES5功能,可以包括垫片,也可以试一试。Extendscript是一个脚本社区项目(没有Adobe参与),它应该允许您编写ES5/ES6代码,然后转换为ES3。

Extendscript作为一种语言,停留在ECMAScript 3上–因此它本机不知道
Object.keys()
,也不是
Array.forEach()
。甚至不是
JSON

第3页正式提到了这一点,其中写道:

After Effects脚本使用Adobe ExtendScript语言,这是一种 多个Adobe应用程序使用的JavaScript扩展形式, 包括Photoshop、Illustrator和InDesign.ExtendScript 根据ECMA-262实现JavaScript语言 规范。后效脚本引擎支持第三种 ECMA-262标准的版本,包括其符号和词汇 约定、类型、对象、表达式和语句 还实现了E4X ECMA-357规范,该规范定义了访问权限 将数据转换为XML格式

以上内容在PS脚本指南中找不到,也没有参考


如果您想使用ES5功能,可以包括填隙片,也可以试一试。ExtendScript是一个脚本社区项目(没有Adobe参与)这应该允许您编写ES5/ES6代码,然后将其转换为ES3。

更新了帖子。奇怪的是,关于ECMA合规性的信息并没有在每个应用程序的官方脚本文档中共享。在这种情况下包含的垫片文件:更新了帖子。奇怪的是,关于ECMA合规性的信息从来没有被共享过y应用程序的官方脚本文档。在这种情况下要包含的垫片文件: