Aller au contenu principal

📄 Sort Array

Question Description​

Étant donné un tableau de plusieurs nombres, utilisez la fonction sort pour trier le tableau. Fournissez des solutions pour les deux cas suivants :

  1. Tri croissant (du plus petit au plus grand)
  2. Tri décroissant (du plus grand au plus petit)

Tri croissant​

const numbers = [10, 5, 50, 2, 200];

// Utiliser une fonction de comparaison
numbers.sort(function (a, b) {
return a - b;
});

console.log(numbers); // [2, 5, 10, 50, 200]

Tri décroissant​

const numbers = [10, 5, 50, 2, 200];

numbers.sort(function (a, b) {
return b - a;
});

console.log(numbers); // [200, 50, 10, 5, 2]

Insérer intentionnellement des strings​

const mixedNumbers = [10, '5', 50, '2', 200];

mixedNumbers.sort(function (a, b) {
return Number(a) - Number(b);
});

console.log(mixedNumbers); // ['2', '5', 10, 50, 200]

Cependant, cette solution ne peut pas exclure les chaînes de caractères qui ne peuvent pas être converties en nombres, comme 'iphone', 'ipad', etc. Ces chaînes seront converties en NaN, et bien qu'elles se retrouvent probablement à la fin du tri, les résultats peuvent varier selon le navigateur. Dans ce cas, il faut envisager d'utiliser filter au préalable pour exclure et réorganiser le tableau.

Tri d'Objects​

const mockArray = [
{ type: 'a', label: 1 },
{ type: 'a', label: 2 },
{ type: 'c', label: 1 },
{ type: 'c', label: 3 },
{ type: 'b', label: 2 },
];