javascript - 不要在循环的最后一次迭代中添加字符串

标签 javascript arrays string split

我有一个数组,其中一个值是字符串。我需要拆分该字符串,附加属性名称 (j + ' | ') 并在两个值之间插入 OR。

就目前情况而言,它在两个值之后添加 和 OR,但是我不希望将其附加到最后一个值。值的数量可以是动态的,在这种情况下,分割后有两个值,但在某些情况下可能有多达 10、14 等...我怎样才能防止我的循环向最后的值?

//简化代码:

        obj1.SegmentsSummary[h][j] = "Hi |OR| Bye";
        var varname = obj1.SegmentsSummary[h][j].split(" |OR| ");
        obj1.SegmentsSummary[h][j] = '';
        for (k = 0; k < varname.length; k++) {
        obj1.SegmentsSummary[h][j] +=  j + ' | ' + varname[k] + '  |OR|  ';

任何帮助将不胜感激。

最佳答案

您要做的就是设置一个哨兵值(例如 var sentinalValue = varname.length -1),然后添加一个条件来查找该值(例如 if(sentinalValue = k))。这样你就知道你正处于 for 循环的最后一次迭代。然后,针对该一次迭代以不同方式处理 objt1(在 for 循环内!)。

关于javascript - 不要在循环的最后一次迭代中添加字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27431111/

相关文章:

javascript - 选中单选按钮时执行特定操作

java - 字符串数组串联的问题

c# - 从 c# 中的字符串文件路径中删除额外的反斜杠 "\"

regex - 如何使用选择性正则表达式在 Pandas 系列中执行替换?

javascript - 添加音频播放器,启用和禁用选项卡

javascript - .map 在未启动的数组上无法按预期工作

javascript - 为什么 Whatsapp 和 Javascript 返回不同长度的相同 unicode 字符串?

c# - 如何将通用数组写入 CSV 文件?

arrays - 将数组值处理到结构数组的单个字段(在 Matlab 中)

c++ - 使用 ifstream 检索引号内的完整字符串