List.shuffle() in Dart?
我正在网上寻找所有地方(飞镖网站,stackoverflow,论坛等),但找不到答案。
所以这是我的问题:我需要编写一个函数,该函数打印一个随机的列表,以女巫作为参数。 :在飞镖中也是如此。
我尝试使用地图,集合,列表...我尝试使用assert方法,使用sort方法,在Dart librabry上使用Math来研究随机方法...什么也做不了。
有人可以帮我弄这个吗?
这是一些草稿:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | var element03 = query('#exercice03'); var uneliste03 = {'01':'Jean', '02':'Maximilien', '03':'Brigitte', '04':'Sonia', '05':'Jean-Pierre', '06':'Sandra'}; var alluneliste03 = new Map.from(uneliste03); assert(uneliste03 != alluneliste03); print(alluneliste03); var ingredients = new Set(); ingredients.addAll(['Jean', 'Maximilien', 'Brigitte', 'Sonia', 'Jean-Pierre', 'Sandra']); var alluneliste03 = new Map.from(ingredients); assert(ingredients != alluneliste03); //assert(ingredients.length == 4); print(ingredients); var fruits = <String>['bananas', 'apples', 'oranges']; fruits.sort(); print(fruits); |
List类中有一个shuffle方法。 您可以不带参数调用它,也可以提供一个随机数生成器实例:
1 2 3 4 5 | var list = ['a', 'b', 'c', 'd']; list.shuffle(); print('$list'); |
这是一个基本的
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | import 'dart:math'; List shuffle(List items) { var random = new Random(); // Go through all elements. for (var i = items.length - 1; i > 0; i--) { // Pick a pseudorandom number according to the list length var n = random.nextInt(i + 1); var temp = items[i]; items[i] = items[n]; items[n] = temp; } return items; } main() { var items = ['foo', 'bar', 'baz', 'qux']; print(shuffle(items)); } |