Что сказал Криптон.
Кроме того, вам нужно увеличить переменную l oop (i), когда вы добавляете строку в подсписок, а также увеличивает счетчик строк. , Надеюсь, это имеет смысл. Таким образом, отображается общее количество позиций, и ваш l oop пропустит только что добавленную строку.
for(var i = 0; i < lineCount; i++)
{
....
if(sub_field1 === true && isclosed !== true)
{
....
load_so.insertLine({ sublistId: 'item',
line: i+1
});
i++;
linecount++;
....
}
}
Это действительно будет лучше, как некоторое время l oop, так как использование для заставляет его выглядеть как итерация по фиксированному количеству элементов.
А что касается «от одной проблемы», я получаю много пробега, вспоминая, что такое счет (на основе 1), и что является смещением (на основе 0). Длина массива является счетчиком и, таким образом, основана на одном. Но индекс последнего элемента (как смещение) основан на 0.
list = ['a', b', 'c', 'd'];
list.length === 4
list[list.length -1] === 'd'
// get second pair
index = 1; // an index (first pair has the index of 0).
lengthOfGroup = 2; // This is a count.
indexWithinGroup = 0; // another index
list[index * lengthOfGroup + indexWithinGroup] === 'c'
indexWithinGroup = 1;
list[index * lengthOfGroup + indexWithinGroup] === 'd'
Выше становится намного сложнее, когда все основано на одном. Особенно, когда вы используете javascript API (я смотрю на вас, suitescript 1.0 ..).