void main() {
List<Map<String, dynamic>> myProducts = [
{"name": "Shoes", "price": 100},
{"name": "Pants", "price": 50},
{"name": "Book", "price": 10},
{"name": "Lamp", "price": 40},
{"name": "Fan", "price": 200}
];
// Selling price from low to high
myProducts.sort((a, b) => a["price"].compareTo(b["price"]));
print('Low to hight in price: $myProducts');
// Selling price from high to low
myProducts.sort((a, b) => b["price"].compareTo(a["price"]));
print('High to low in price: $myProducts');
}
someObjects.sort();
// By object property value
someObjects.sort((a, b) => a.someProperty.compareTo(b.someProperty));
// To reverse sort, just swab a and b
someObjects.sort((a, b) => b.someProperty.compareTo(a.someProperty));
objects.sort((a, b) {
return a.value['name'].toString().toLowerCase().compareTo(b.value['name'].toString().toLowerCase());
});
To reverse it you could do b.someProperty.compareTo(a.someProperty). Or sort it and then use .reversed
someObjects.sort((a, b) => a.someProperty.compareTo(b.someProperty));
List<int> nums = [13, 2, -11];
nums.sort();
print(nums); // [-11, 2, 13]