[Dart]配列(リスト)の特定の範囲を上書きするには?

Dart

どうも、ちょげ(@chogetarou)です。

配列であるリストの特定の範囲の要素を全て上書きする方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

リストの特定の範囲を上書きするには、replaceRangeメソッドを使います。

まず、リストからreplaceRangeメソッドを呼び出します。

そして、replaceRangeメソッドの第1引数に範囲の最初の位置、第2引数に範囲の終わりの位置を指定します。

replaceRangeメソッドの第3引数には、上書きする値をリストで指定します。

//startからendまでの範囲を、第3引数のリストの要素で上書き
list.replaceRange(start, end, [value1, value2, ・・・])

replaceRangeメソッドは、呼び出したリストを上書きします。

replaceRangeメソッドの第3引数のリストの要素数が、範囲の要素数より多い場合は、新しい要素が追加されます。

範囲の要素数より少ない場合は、足りない分の要素が削除されます。

使用例

void main() {
  var numbers = [1, 2, 3, 4, 5];
  
  numbers.replaceRange(1, 4, [10, 10, 10]);
  
  print(numbers); //[1, 10, 10, 10, 5]
}

コメント

タイトルとURLをコピーしました