Fonction générique de fusion de tableaux avec un comparateur personnalisé

TypeScript Medium generics

Tâche «Fonction générique de fusion de tableaux avec un comparateur personnalisé»

Implémentez une fonction générique `mergeArrays<T>` qui prend deux tableaux d'éléments de type `T` et une fonction comparateur `comparator: (a: T, b: T) => number`. La fonction doit retourner un nouveau tableau contenant tous les éléments des deux tableaux, triés par ordre croissant selon le comparateur. Les tableaux d'origine ne doivent pas être modifiés. Si le comparateur renvoie un nombre négatif, `a` est considéré comme plus petit ; un nombre positif — `b` plus petit ; zéro — égaux. En cas d'égalité, l'ordre n'a pas d'importance. Contraintes : les longueurs des tableaux sont de 1 à 10^5, les éléments peuvent être de n'importe quel type.

Format d\ entrée

La première ligne est la longueur N du premier tableau. La deuxième ligne est N éléments séparés par des espaces. La troisième ligne est la longueur M du deuxième tableau. La quatrième ligne est M éléments séparés par des espaces. La cinquième ligne est une chaîne indiquant le comparateur : 'number' pour les nombres (comparaison croissante), 'string' pour les chaînes (comparaison lexicographique).

Format de sortie

Une chaîne avec les éléments du tableau résultant, séparés par des espaces.

Exemples

Exemple 1

ENTRÉE
5 3 1 4 1 5
SORTIE
1 1 3 4 5
main.ts