День добрый!
Для вот такого кода
defineVirtualDevice('testForLoop', {
title: { en: 'Test values', ru: 'Тестовые значения' },
cells: {
value01: {
title: { en: 'Value - 01', ru: 'Значение - 01' },
type: 'value',
readonly: true,
value: 10
},
value02: {
title: { en: 'Value - 02', ru: 'Значение - 03' },
type: 'value',
readonly: true,
value: 20
},
value03: {
title: { en: 'Value - 03', ru: 'Значение - 03' },
type: 'value',
readonly: true,
value: 30
},
value04: {
title: { en: 'Value - 04', ru: 'Значение - 04' },
type: 'value',
readonly: true,
value: 40
}
}
});
var controls = [
'testForLoop/value01',
'testForLoop/value02',
'testForLoop/value03',
'testForLoop/value04'
];
for (var i = 0; i < controls.length; i++) {
log('index - {}', i);
log('control - {}', controls[i]);
log('value - {}', dev[controls[i]]);
};
Имеем вот такой вывод. Странность (двойное исполнение последнего оператора цикла на первой итерации, а может, повторение последнего оператора предыдущей итерации на второй) выделена:
Что интересно:
- если контролов будет 3 (соответственно, значений в массиве имен контролов), то этого явления не наблюдается.
- если контролов будет 10 - это наблюдается для 1, 4, 7 итераций.
- если увеличить еще - такое задвоение наблюдается уже в других местах.
Закономерности не выявил.