Junior — Middle
What potential difficulties may arise when implementing a generic sorting method?
sobes.tech AI
Answer from AI
When implementing a generic sorting method in Node.js, the following challenges may arise:
- Data types: The generic method should work correctly with different data types (numbers, strings, objects). It is necessary to provide a way to compare elements, for example, through a comparator function.
- Comparison of complex objects: To sort objects, it is necessary to define comparison criteria; otherwise, the sorting will be incorrect.
- Performance: A universal method may be less optimal compared to a specialized one for a specific data type.
- Error handling: It is important to handle cases where elements are not comparable or invalid data is passed.
Example of a generic sorting method with a comparison function:
function genericSort(arr, compareFn) {
return arr.sort(compareFn);
}
// Usage:
const numbers = [5, 3, 8, 1];
console.log(genericSort(numbers, (a, b) => a - b));
const users = [
{name: 'Anna', age: 25},
{name: 'Bob', age: 20}
];
console.log(genericSort(users, (a, b) => a.age - b.age));