Skip to content

Instantly share code, notes, and snippets.

@ihsanberahim
Created June 28, 2023 09:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ihsanberahim/642471055c96131b2e28bdb758c7250b to your computer and use it in GitHub Desktop.
Save ihsanberahim/642471055c96131b2e28bdb758c7250b to your computer and use it in GitHub Desktop.
chilly-aqueduct-4156

chilly-aqueduct-4156

Created with <3 with dartpad.dev.

// https://chat.openai.com/share/07a8df63-7d5d-4a71-807e-354e6733a2c4
import 'dart:convert';
void main() {
List<Map<String, dynamic>> myList = [
{
'jenis': 'admin',
'id': '1',
'managed': [
{'noPlat': '123124235.0', 'nama': 'SASUKE', 'jenisFail': 'IT', 'email': 'null'},
{'noPlat': '757652635.0', 'nama': 'ABITO', 'jenisFail': 'IT', 'email': 'null'},
],
},
{
'jenis': 'Syarikat',
'id': '2',
'managed': [
{'noPlat': '980988.0', 'nama': 'LETS KOPEK SDN BHD', 'jenisFail': 'G', 'email': 'null'},
{'noPlat': '98986.0', 'nama': 'AIYAN SDN BHD', 'jenisFail': 'G', 'email': 'null'},
],
},
{
'jenis': 'TRY',
'id': '3',
'managed': [
{'noPlat': '090980.0', 'nama': 'CIPAN SDN BHD', 'jenisFail': 'P', 'email': 'null'},
{'noPlat': '7127653.0', 'nama': 'ATASHI SDN BHD', 'jenisFail': 'P', 'email': 'null'},
],
},
];
// Sort myList items by managed.*.nama
myList.sort((a, b) {
List<dynamic> managedA = a['managed'];
List<dynamic> managedB = b['managed'];
managedA.sort((x, y) => x['nama'].compareTo(y['nama']));
managedB.sort((x, y) => x['nama'].compareTo(y['nama']));
String firstNamaA = managedA.isNotEmpty ? managedA.first['nama'] : '';
String firstNamaB = managedB.isNotEmpty ? managedB.first['nama'] : '';
return firstNamaA.compareTo(firstNamaB);
});
// Print the sorted myList
print(jsonEncode(myList));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment