JavaScript for循环未匹配数据时如何跳出并显示指定提示
代码优化实现
仅需在原有可运行逻辑基础上新增匹配状态标记即可,不需要改动原有业务逻辑,核心改动点:
- 循环启动前定义布尔类型的状态标记,初始值设为
false,代表暂未找到符合筛选条件的记录 - 每次匹配到符合条件的记录、执行追加行/清空行操作时,把状态标记更新为
true - 整个循环遍历完成后判断标记值,如果仍为
false说明全程没有匹配到符合要求的记录,直接弹出指定提示信息,终止后续逻辑;如果标记为true,再执行后续原有业务流程
优化后可直接运行的完整代码:
// 新增:匹配状态标记 let hasValidRecord = false; for (i = 1; i < dataValues.length; i++) { if (dataValues[i][11] === 'COMMANDE CONFIRMER' && dataValues[i][12] != '' && dataValues[i][13] === '') { // 匹配到符合条件的记录,更新标记状态 hasValidRecord = true; pasteSheet.appendRow([dataValues[i][0], dataValues[i][1], dataValues[i][2], dataValues[i][3], dataValues[i][4], dataValues[i][5], dataValues[i][6], dataValues[i][7], dataValues[i][8], dataValues[i][9], dataValues[i][10], dataValues[i][11]]); var clearRow = i + 2; copySheet.getRange('A' + clearRow + ':M' + clearRow).clear(); } } // 新增:无匹配记录时弹提示终止流程 if (!hasValidRecord) { Browser.msgBox('AUCUNE DEMANDE A VALIDER'); return; } // get destination range var destination = pasteSheet.getRange(pasteSheet.getLastRow() + 1, 1, max, 1); // clear source values Browser.msgBox('Commande Confirmer'); }
说明:上述代码用
return直接终止后续逻辑,适配Google Apps Script函数内运行的常规场景;如果你的代码不是包裹在函数中执行,把return替换为你需要的终止/跳转逻辑即可。
内容的提问来源于stack exchange,提问作者IMAD LAKH
相关产品推荐
相关产品推荐

