Skip to content

Instantly share code, notes, and snippets.

@Dalmangyi
Last active August 30, 2019 02:33
Show Gist options
  • Save Dalmangyi/a34b64a89ddb721c3e35ad8660e5639b to your computer and use it in GitHub Desktop.
Save Dalmangyi/a34b64a89ddb721c3e35ad8660e5639b to your computer and use it in GitHub Desktop.
Dart array util methods
void main(){
var data = [1, 2, 3, 4, 5];
//forEach
print('forEach1');
var eachData = data.forEach((value) {
print(value);
return value;
});
//print(eachData); //eachData is void.
//map
var strData = data.map((value) {
print('num $value');
return value+1;
});
print('map : $strData');
//List.from
var copyData = List.from(data);
print('copy : $copyData');
//sort
var sorted = List.from(data);
sorted.sort((n1, n2) => n2-n1);
print('sort : $sorted');
//reduce
var sum = data.reduce((curr, next) => curr+next);
print('reduce : $sum');
//fold
var initialValue = 10;
var sum2 = data.fold(initialValue, (curr, next) => curr + next);
print('fold : $sum2');
//every
var is1AndOver = data.every((num)=> num>=1);
print('every 1 : $is1AndOver');
var is2AndOver = data.every((num)=> num>=2);
print('every 2 : $is2AndOver');
//where
var over2s = data.where((num) => num>=2);
print('where 2 : $over2s');
//firstWhere
var over3 = data.firstWhere((num) => num>=3);
print('firstWhere 3 : $over3');
var over6_orElse = data.firstWhere((num) => num>=6, orElse:()=>null);
print('firstWhere 6_orElse : $over6_orElse');
//singleWhere
/*
* var under3 = data.singleWhere((num) => num<3, orElse:()=>null);
* print('singleWhere under3 : $under3');
*/
var under2 = data.singleWhere((num) => num<2, orElse:()=>null);
print('singleWhere under2 : $under2');
//take,skip
var takeData = data.take(3);
print('take : $takeData');
var skipData = data.skip(2);
print('skip : $skipData');
var takeSkipData = data.take(3).skip(1);
print('takeSkip : $takeSkipData');
var takeSkipTakeData = data.take(3).skip(1).take(1);
print('takeSkipTakeData : $takeSkipTakeData');
//expand
var doubleData = [data, data];
var flatDoubleData = doubleData.expand((pair) => pair);
print('expand : $flatDoubleData');
var duplicated = data.expand((num) => [num, num]);
print('expand2 : $duplicated');
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment