Index d'insertion dernier dans un tableau trié

JavaScriptJavaScriptBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous explorerons le concept de recherche de l'index d'insertion dernier dans un tableau trié en utilisant une fonction itératrice fournie, en utilisant JavaScript. Le laboratoire couvrira la manière de vérifier si un tableau est trié dans l'ordre décroissant, la manière d'appliquer une fonction itératrice à tous les éléments d'un tableau et la manière de trouver l'index approprié où un élément devrait être inséré, en fonction de la fonction itératrice fournie. À la fin du laboratoire, vous aurez une meilleure compréhension de la manière de manipuler les tableaux et d'utiliser les fonctions itératrices en JavaScript.

Comment trouver l'index d'insertion dernier dans un tableau trié en fonction d'une fonction

Pour commencer à coder, ouvrez le Terminal/SSH et tapez node.

Voici comment trouver l'index le plus élevé auquel une valeur devrait être insérée dans un tableau pour maintenir son ordre de tri, en fonction d'une fonction itératrice fournie :

  1. Vérifiez si le tableau est trié dans l'ordre décroissant.
  2. Utilisez Array.prototype.map() pour appliquer la fonction itératrice à tous les éléments du tableau.
  3. Utilisez Array.prototype.reverse() et Array.prototype.findIndex() pour trouver l'index approprié où l'élément devrait être inséré, en fonction de la fonction itératrice fournie.

Voyez le code ci-dessous :

const sortedLastIndexBy = (arr, n, fn) => {
  const isDescending = fn(arr[0]) > fn(arr[arr.length - 1]);
  const val = fn(n);
  const index = arr
    .map(fn)
    .reverse()
    .findIndex((el) => (isDescending ? val <= el : val >= el));
  return index === -1 ? 0 : arr.length - index;
};

Voici un exemple :

sortedLastIndexBy([{ x: 4 }, { x: 5 }], { x: 4 }, (o) => o.x); // 1

Sommaire

Félicitations ! Vous avez terminé le laboratoire Index d'insertion dernier dans un tableau trié en fonction d'une fonction. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.