JSFiddle - React, Tailwind, and code Playground
by ttamminen
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/immutable/3.7.6/immutable.min.js"></script>
JavaScript
function sortByNameTakeAllFirst(a, b) {
function getName(item) {
var name = item.get('name');
if (!name) {
return '{no name}';
}
return name.toLowerCase();
}
var nameA = getName(a);
var nameB = getName(b);
// all should be first then alphabetically
if (nameA === 'all') {
return -1;
}
return nameA.localeCompare(nameB);
};
var items = Immutable.fromJS([
{
"name": "M&A"
},
{
"name": "License"
},
{
"name": "Purchase"
},
{
"name": "All"
},
{
"name": "Distribution"
},
{
"name": "Agency"
},
{
"name": "R&D"
},
{
"name": "Sales"
},
{
"name": "Consultancy"
},
{
"name": "Other"
},
{
"name": "Subcontracting"
},
{
"name": "Service"
},
{
"name": "NDA"
},
{
"name": "ICT"
},
{
"name": "Co-operation"
},
{
"name": "Lease/Rental"
}
]);
console.log(items.sort(sortByNameTakeAllFirst).toJS())