我正在使用 Adobe 实时循环设计器 ES4 来创建一些报告。基于 XML 尝试填充表。我有阵列问题。我将数据推送到数组中的 for 循环中。以下是我的代码示例:结果 - 空白文本框var print_data = xfa.record.containerPrintingData;var sfcArray = [];for (var i = 0; i < 10; i++) { sfc = print_data.resolveNode("sfcPrintingData["+ i +"]").sfc.value; sfcArray.push(sfc); };this.rawValue = sfcArray.toString();结果 - 获取所有项目var print_data = xfa.record.containerPrintingData;var sfcArray = [];for (var i = 0; i < 10; i++) { sfc = print_data.resolveNode("sfcPrintingData["+ i +"]").sfc.value; sfcArray.push(sfc); this.rawValue = sfcArray.toString();}结果 - 获取第 2 项 x 10var print_data = xfa.record.containerPrintingData;var sfcArray = [];for (var i = 0; i < 10; i++) { sfc = print_data.resolveNode("sfcPrintingData[1]").sfc.value; sfcArray.push(sfc); this.rawValue = sfcArray.toString();}为什么第一个示例不起作用,第二个示例正确工作?我需要在另一个循环中使用此数组。如何解决?
1 回答
慕田峪7331174
TA贡献1828条经验 获得超13个赞
因为,如果它有2个项目,你循环它10。
发生的事情是,当在循环内部时,this.rawValue 会更新 2 次。第一次 一个项目将在那里。第二次2个项目。对于下一次迭代,没有第三项。因此,代码会中断并出现错误。但仍然有2个项目。this.rawValue = sfcArray.toString();
this.rawValue
其中 as,当位于循环之外时,代码会错误地中断,并且其中没有任何项。this.rawValue = sfcArray.toString();
this.rawValue
添加回答
举报
0/150
提交
取消