You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript中获取重复出现字符串的首次索引问题:无法获取"Query Response"索引的解决方法

问题排查与修复方案

你的代码有两个关键错误导致无法获取到预期的索引值,我帮你拆解并修正:

核心错误点

  1. 变量名不匹配
    你声明的目标数据变量是output_pacs,但循环里遍历的却是output——如果output是未定义或空数组,循环根本不会执行,最终strutturaIndici自然是空的。

  2. 数组元素访问语法错误
    JavaScript中访问数组元素必须使用方括号[],而你写成了output(i),这种写法会被解释为调用函数output并传入参数i,而不是取数组的第i个元素。这会直接导致报错,后续代码无法正常执行。

修正后的代码

我帮你调整了变量名、修复了语法,还增加了过滤无效索引的逻辑(避免把没找到目标字符串时返回的-1存入数组):

var strutturaIndici = []; 
// 遍历正确的变量output_pacs
for(var i = 0; i < output_pacs.length; i++) { 
    // 用[]访问数组元素,修正语法错误
    var indice_primo_carattere = output_pacs[i].indexOf("Query Response"); 
    // 只保留找到目标字符串的有效索引
    if(indice_primo_carattere !== -1) {
        strutturaIndici.push(indice_primo_carattere);
    }
} 
logger.debug('StrutturaIndici:' + strutturaIndici);

额外优化建议

如果想让代码更简洁易读,可以使用forEach遍历:

var strutturaIndici = [];
output_pacs.forEach(line => {
    const index = line.indexOf("Query Response");
    if(index !== -1) {
        strutturaIndici.push(index);
    }
});
logger.debug('StrutturaIndici:' + strutturaIndici);

排查小技巧

如果修正后还是没有结果,建议先确认output_pacs是否正确加载了文件内容:

logger.debug('output_pacs实际内容:' + output_pacs);

这样可以快速排查是不是数据源本身就有问题。

内容的提问来源于stack exchange,提问作者user14756410

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 06:07:40