var sortFunc = function sortFunc(data, elem) {
var attr = elem.getAttribute('name');
if (attr === 'id' || attr === 'salary') {
data.sort((a, b) => {
return +a[attr] > +b[attr] ? 1: -1;
});
}
if (attr === 'user' || attr === 'position' || attr === 'gender') {
data.sort((a, b) => {
return a[attr] > b[attr] ? 1: -1;
});
}
};
// call sortFunc([], elem.getAttribute('name'))
function sortFunc(data, key) {
return [...data].sort((a, b) => compare(parse(a[key]), parse(b[key])));
}
function parse(val) {
return isNaN(Number(val)) ? val : Number(val);
}
function compare(a, b) {
if(a > b) return 1;
if(a < b) return -1;
return 0;
}
return +a[attr] > +b[attr] ? 1: -1;
return +a[attr] - b[attr];
const sortFunc = function sortFunc(data, elem) {
switch( elem.getAttribute('name')) {
case 'id':
case 'salary':
data.sort((a, b) => +a[attr] - b[attr]);
break;
case 'user':
case 'position':
case 'gender':
data.sort((a, b) => a[attr] > b[attr] ? 1 : (a[attr] < b[attr] ? -1 : 0));
break;
default:
throw('Bad attribute');
}
};