Как можно устранить дублирование js кода?
Как можно избавиться от дублирования кода в функции? (блоки if - это явное дублирование)
function sortStrings(arr, param = 'asc') {
const arrCopy = [...arr];
if (param === 'asc') {
arrCopy.sort((a, b) => a.localeCompare(b, ['ru', 'eng'], { caseFirst: 'upper' }));
}
if (param === 'desc') {
arrCopy.sort((a, b) => -a.localeCompare(b, ['ru', 'eng'], { caseFirst: 'lower' }));
}
return arrCopy;
}
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
let caseFirst = param === 'asc' ? 'upper' : 'lower';
let sortFactor = param === 'asc' ? 1 : -1;
arrCopy.sort((a, b) => sortFactor * a.localeCompare(b, ['ru', 'eng'], { caseFirst: caseFirst }));