我在网上到处找(dart 网站,Stackoverflow,论坛等),但我找不到答案.

所以我的问题是:我需要编写一个函数,打印一个随机排序的列表,作为参数提供还有In dart个.

我试着用 map ,集合,列表...我用assert和sort来try 这个方法,我在dart库上用数学来研究随机方法...没有什么能做我想做的.

有人能帮我这个忙吗?

以下是一些草稿:

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);

推荐答案

这是一个基本的shuffle函数.请注意,由此产生的混洗在加密方面并不强.它使用DART的Random类,这会产生不适合加密使用的伪随机数据.

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));
}

Dart相关问答推荐

读取有状态(Stateful)小部件的状态

触发从小部件到状态对象的函数

Flutter 使用拖动和按钮单击扩展 TextField

在`lib`文件夹中使用`src`子文件夹有什么好处吗

如何在 Flutter 中更改 Html 小部件中的字体样式?

如何在Flatter中导入intl库?

如何删除ios上的overscroll?

dart- 四舍五入

更新复选框并从Flutter对话框中返回值

如何在Flatter dart中使用相同的元素初始化列表?

Flutter中不能指定MultiPartFile的内容类型

如何提取dart/Flutter视频元数据

在 Dart 中发送 SMTP 邮箱

有没有更好的方法来找出文件或目录是否存在?

Opa vs Dart vs Haxe vs CoffeeScript

VS Code 首选项的位置

Dart 会在多核环境中并行执行隔离吗?

多次打印同一个字符而不循环

判断 datetime 变量是今天、明天还是昨天

包裹构造函数参数的花括号代表什么?