Índice de Última Inserción en Matriz Ordenada

JavaScriptJavaScriptBeginner
Practicar Ahora

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

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, exploraremos el concepto de encontrar el último índice de inserción en una matriz ordenada en función de una función iteradora proporcionada, utilizando JavaScript. El laboratorio cubrirá cómo comprobar si una matriz está ordenada en orden descendente, cómo aplicar una función iteradora a todos los elementos de una matriz y cómo encontrar el índice final adecuado donde se debe insertar un elemento, en función de la función iteradora proporcionada. Al final del laboratorio, tendrás una mejor comprensión de cómo manipular matrices y utilizar funciones iteradoras en JavaScript.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/BasicConceptsGroup -.-> javascript/array_methods("Array Methods") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") javascript/AdvancedConceptsGroup -.-> javascript/destr_assign("Destructuring Assignment") subgraph Lab Skills javascript/variables -.-> lab-28340{{"Índice de Última Inserción en Matriz Ordenada"}} javascript/data_types -.-> lab-28340{{"Índice de Última Inserción en Matriz Ordenada"}} javascript/arith_ops -.-> lab-28340{{"Índice de Última Inserción en Matriz Ordenada"}} javascript/comp_ops -.-> lab-28340{{"Índice de Última Inserción en Matriz Ordenada"}} javascript/array_methods -.-> lab-28340{{"Índice de Última Inserción en Matriz Ordenada"}} javascript/higher_funcs -.-> lab-28340{{"Índice de Última Inserción en Matriz Ordenada"}} javascript/destr_assign -.-> lab-28340{{"Índice de Última Inserción en Matriz Ordenada"}} end

Cómo encontrar el último índice de inserción en una matriz ordenada en función de una función

Para comenzar a codificar, abre la Terminal/SSH y escribe node.

A continuación, se muestra cómo encontrar el índice más alto en el que se debe insertar un valor en una matriz para mantener su orden de clasificación, en función de una función iteradora proporcionada:

  1. Comprueba si la matriz está ordenada en orden descendente.
  2. Utiliza Array.prototype.map() para aplicar la función iteradora a todos los elementos de la matriz.
  3. Utiliza Array.prototype.reverse() y Array.prototype.findIndex() para encontrar el último índice adecuado donde se debe insertar el elemento, en función de la función iteradora proporcionada.

Ve el código siguiente:

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;
};

Aquí hay un ejemplo:

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

Resumen

¡Felicitaciones! Has completado el laboratorio Índice de Última Inserción en Matriz Ordenada en Función. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.