dart one array divide into three group

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98

import 'dart:async';

import 'package:async/async.dart';
import 'package:rxdart/rxdart.dart';
import 'package:test_api/test_api.dart';
import 'package:training/models/storing_data.dart';

main() {
group('array_x_y_z', () {
test('array_x_y_z_1', () {
List list = List();

List array = createArray(101);

for (int i = 0; i < (array.length) / 3; i++) {
int x = array[i];
int y = array[i + 33];
int z = array[i + 33 + 33];

list.add({'x': x, 'y': y, 'z': z});
}

print(list.length);
});

test('array_x_y_z_2', () {
List list = createArray(101);

List result = cal(list, 5);

list.map((f) {});
assert(result.length == (list.length / 5).floor());

assert(result[0].length == 5);

assert(result[0][0] == list[0]);

assert(result[10][4] == list[result.length * 4 + 10]);
});

// test("array_x_y_z_3", () {
// var array1 = array.getRange(0, 32);
// var array2 = array.getRange(33, 65);
// var array3 = array.getRange(66, 98);
});

test("array_x_y_z_3", () async {
var firstCompleter = Completer();

List array = createArray(101);
// // 5
StreamZip([
Stream.fromIterable(array.getRange(0, 50)),
Stream.fromIterable(array.getRange(50, 100)),
])
.toList()
.then(print)
.whenComplete((){
return firstCompleter.complete();
})
;

await firstCompleter.future;

}, timeout: Timeout(Duration(seconds: 20)));
}

List createArray(int size) {
return List<int>.generate(size, (int index) => index);
}

List cal(List array, int size) {
// List<List> list = List();

var length = (array.length / size).floor();

return List<List>.generate(length,
(index) => List<int>.generate(size, (c) => array[length * c + index]));

// for (int j = 0; j < length; j++) {
// var result = [];

// for (int i = 0; i < size; ++i) {
// result.add(array[length * i + j]);
// }

// list.add(result);
// }

// return list;
}

Future future() async {
return await Future.delayed(Duration(seconds: 1), () {
return 1;
});
}

最后更新: 2019年08月31日 14:22

原始链接: https://chenadminchen.github.io/2018/03/27/dart-array-x-y-z/

× 请我吃糖~
打赏二维码