Попался любопытный фрагмент кода, который должен реализовать копирование из одного двумерного массива в другой:
let selection = null; const func1 = (s, e) => { switch (e.command) { case 'paste': { destSelection = s.getSelection(); sourceSelection = { ...selection }; do { i = 0; do s.SetCellValue(destSelection.leftColumnIndex + (i++), destSelection.topRowIndex, s.getCellValue(sourceSelection.leftColumnIndex, sourceSelection.topRowIndex) ?? ''); while (sourceSelection.rightColumnIndex > sourceSelection.leftColumnIndex++); destSelection.topRowIndex++; sourceSelection.leftColumnIndex = selection.leftColumnIndex; } while (sourceSelection.bottomRowIndex > sourceSelection.topRowIndex++); } break; case ... } };
Добавлено много граблей в коде копирования значений между массивами.