如何从Dart中的集合中检索随机元素?
var list = ['a','b','c','d','e'];
答案 0 :(得分:23)
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)];
答案 1 :(得分:6)
$('#dynamicformdata').each(function() {
console.log(this.type);
})
<div id="dynamicformdata">
<video width="320" height="240" >
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
</video>
</div>
答案 2 :(得分:4)
这也有效:
import {Component} from '@angular/core';
import {Router} from '@angular/router';
@Component({
selector: 'app-root',
templateUrl: './app.home.html',
})
export class HomeComponant {
title = 'Home';
constructor(
private router: Router,
) {}
onSubmit() {
this.router.navigate(['/doctor'],{queryParams:{test:1}});
}
}
或者如果您不想弄乱列表,请创建一个副本:
var list = ['a','b','c','d','e'];
//this actually changes the order of all of the elements in the list
//randomly, then returns the first element of the new list
var randomItem = (list..shuffle()).first;
答案 3 :(得分:1)
您可以使用dart_random_choice软件包来帮助您。
{'label': 'xyz.com',
'children': [{'parent': 'xyz.com',
'label': 'abc.com',
'depth': 0,
'children': [{'parent': 'abc.com',
'label': 'user-3',
'depth': 1}]},
{'parent': 'xyz.com', 'label': 'user-1', 'depth': 0}]}
答案 4 :(得分:0)
我刚刚为 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()),
),
);