I'm having a sample object. I need to re arrange the objects a according to "Technology" key value. The array should be arranged in this way,
var dataArray = [{
"EmployeeName": "John",
"Experience": "12",
"Technology": "SharePoint"
}, {
"EmployeeName": "Charles",
"Experience": "9",
"Technology": "Sql Server"
}, {
"EmployeeName": "Tommy",
"Experience": "3",
"Technology": "JAVA"
}, {
"EmployeeName": "Daine",
"Experience": "7",
"Technology": "Sql Server"
}, {
"EmployeeName": "Roger",
"Experience": "6",
"Technology": "JAVA"
},
{
"EmployeeName": "John",
"Experience": "12",
"Technology": "SharePoint"
}, {
"EmployeeName": "Michel",
"Experience": "9",
"Technology": "Sql Server"
}, {
"EmployeeName": "Jo",
"Experience": "3",
"Technology": "SharePoint"
}, {
"EmployeeName": "Jhona",
"Experience": "7",
"Technology": "JAVA"
}, {
"EmployeeName": "Toba",
"Experience": "6",
"Technology": "SharePoint"
}];
Use Array.sort
const order = ["SharePoint", "Sql Server", "JAVA"];
const dataArray = [{"EmployeeName":"John","Experience":"12","Technology":"SharePoint"},{"EmployeeName":"Charles","Experience":"9","Technology":"Sql Server"},{"EmployeeName":"Tommy","Experience":"3","Technology":"JAVA"},{"EmployeeName":"Daine","Experience":"7","Technology":"Sql Server"},{"EmployeeName":"Roger","Experience":"6","Technology":"JAVA"},{"EmployeeName":"John","Experience":"12","Technology":"SharePoint"},{"EmployeeName":"Michel","Experience":"9","Technology":"Sql Server"},{"EmployeeName":"Jo","Experience":"3","Technology":"SharePoint"},{"EmployeeName":"Jhona","Experience":"7","Technology":"JAVA"},{"EmployeeName":"Toba","Experience":"6","Technology":"SharePoint"}];
const output = dataArray.sort((a, b) => {
if (order.indexOf(a.Technology) > order.indexOf(b.Technology)) return 1;
else if (order.indexOf(a.Technology) < order.indexOf(b.Technology)) return -1;
else return 0;
});
console.log(output)