60

Dartのコレクションからランダムな要素を取得するにはどうすればよいですか?

var list = ['a','b','c','d','e'];
4

5 に答える 5

122
import "dart:math";

var list = ['a','b','c','d','e'];

// generates a new Random object
final _random = new Random();

// generate a random index based on the list length
// and use it to retrieve the element
var element = list[_random.nextInt(list.length)];
于 2013-07-04T18:58:57.587 に答える
10

dart_random_choiceパッケージが役に立ちます。

import 'package:dart_random_choice/dart_random_choice.dart';

var list = ['a','b','c','d','e'];
var el = randomChoice(list);
于 2019-04-13T00:11:36.593 に答える
6

List の拡張メソッドを作成しました。

import 'dart:math';

extension RandomListItem<T> on List<T> {
  T randomItem() {
    return this[Random().nextInt(length)];
  }
}

このように使用できます。

List.randomItem()

例 :

Scaffold(
      body: SafeArea(
        child: isItLogin
            ? Lottie.asset('assets/lottie/53888-login-icon.json')
            : Lottie.asset(LottieAssets.loadingAssets.randomItem()),
      ),
    );
于 2021-05-12T17:02:15.520 に答える