метод setRange
Записывает некоторые элементы iterable в диапазон этого списка.
Копирует объекты iterable, пропустив сначала skipCount объектов, в диапазон этого списка от start включительно до end исключительно.
final list1 = <int>[1, 2, 3, 4]; final list2 = <int>[5, 6, 7, 8, 9]; // Copies the 4th and 5th items in list2 as the 2nd and 3rd items // of list1. const skipCount = 3; list1.setRange(1, 3, list2, skipCount); print(list1); // [1, 8, 9, 4]
Указанный диапазон, задаваемый start и end, должен быть допустимым. Диапазон от start до end допустим, если 0 ≤ start ≤ end ≤ length. Пустой диапазон (с end == start) допустим.
В iterable должно быть достаточно объектов, чтобы заполнить диапазон от start до end после пропуска skipCount объектов.
Если iterable — это данный список, операция корректно копирует элементы, изначально находившиеся в диапазоне от skipCount до skipCount + (end - start), в диапазон от start до end, даже если эти диапазоны перекрываются.
Если iterable каким-либо иным образом зависит от данного списка, никаких гарантий не предоставляется.
Реализация
external void setRange(int start, int end, Iterable<E> iterable,
[int skipCount = 0]);
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-js/JsArray/setRange.html