[Dart]リスト(配列)のshuffleメソッドで影響を与えないようにするには?

Dart

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

Dartで配列であるリストのshuffleメソッドは、元の配列に影響を与えるようになっています。

shuffleメソッドで、元の配列に影響を与えず、結果だけを取得する方法を紹介します。

スポンサーリンク

方法

コンピューター, ノート, オフィス, コード, プログラミング, プログラム

リストのshuffleメソッドを元の配列に影響を与えないようにするには、toListメソッドとカスケード記法を使います。

まず、toListメソッドを呼び出します。

そして、カスケード記法で、shuffleメソッドを呼び出します。

var shuffled = numbers.toList()..shuffle();

toListメソッドとカスケード記法で、配列をシャッフルした結果だけを取得することが出来ます。

使用例

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

コメント

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