2014-12-11 4 views
0

У меня есть массив, одно из значений - строка. Мне нужно разбить эту строку, добавить имя атрибута (j + '|') и вставить OR между двумя значениями.Не добавляйте строку на последней итерации цикла

Поскольку он стоит, он добавляет и ИЛИ после значений BOTH, однако я не хочу, чтобы он был добавлен к последнему значению. Число значений может быть динамическим, в этом случае после его разделения есть два значения, но в некоторых случаях может быть до 10, 14 и т. Д. Как я могу сохранить свой цикл от добавления OR к последнее значение?

// упрощенный код здесь:

 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| '; 

Любая помощь будет высоко ценится.

+1

Либо проверьте цикл 'if k === varname.length -1', либо добавьте OR в начало строки и начните с первого элемента вместо пустой строки. –

+0

Matt R благодарит за помощь! – user2828701

ответ

2

Что вы делаете, вы устанавливаете значение часового (например, var sentinalValue = varname.length -1), тогда вы добавляете условие, которое ищет это значение (например, if (sentinalValue = k)). Таким образом, вы знаете, что находитесь на последней итерации цикла for. Затем обработайте objt1 по-разному для этой итерации (внутри цикла for!).

+0

user1789573 спасибо за понимание! – user2828701

+0

Нет проблем ... Я ценю это. – user1789573

Смежные вопросы