Dart ListクラスのsetRange()メソッドについてメモ書き。
setRange()は指定したインデックス範囲の配列要素を上書きするメソッド。
第1引数で開始インデックス位置を指定。開始位置以上の要素が対象となる。
第2引数で終了インデックス位置を指定。終了位置未満の要素が対象となる。
第3引数で上書きする配列要素を指定。
第4引数はオプション引数。指定した値分第3引数の配列要素スタート位置をスキップする。デフォルトのスキップ位置は”0″。
コーディングでsetRange()メソッドを確認。
void main() {
try {
final listTest = <dynamic>[
"Apple",
"Orange",
"Banana",
"grape",
"Orange",
];
listTest.setRange(1, 3, [0, 1, 2]);
print(listTest);
} catch (e) {
print(e.toString());
}
}
実行結果。
インデックス開始位置1、終了位置3なので1以上3未満の要素が第3引数で渡した配列の上書き対象となる。
[Apple, 0, 1, grape, Orange]
次は第4引数でスキップ位置”1″を指定。
void main() {
try {
final listTest = <dynamic>[
"Apple",
"Orange",
"Banana",
"grape",
"Orange",
];
listTest.setRange(1, 3, [0, 1, 2], 1);
print(listTest);
} catch (e) {
print(e.toString());
}
}
実行結果。
第3引数の配列要素が”1″つスキップされ上書きされる。
[Apple, 1, 2, grape, Orange]
コメント