Introdução
Neste laboratório, exploraremos o conceito de encontrar o último índice de inserção em um array ordenado com base em uma função iteradora fornecida, usando JavaScript. O laboratório abordará como verificar se um array está ordenado em ordem decrescente, como aplicar uma função iteradora a todos os elementos de um array e como encontrar o último índice apropriado onde um elemento deve ser inserido, com base na função iteradora fornecida. Ao final do laboratório, você terá uma melhor compreensão de como manipular arrays e usar funções iteradoras em JavaScript.
Como Encontrar o Último Índice de Inserção em um Array Ordenado com Base em uma Função
Para começar a codificar, abra o Terminal/SSH e digite node.
Aqui está como encontrar o índice mais alto no qual um valor deve ser inserido em um array para manter sua ordem de classificação, com base em uma função iteradora fornecida:
- Verifique se o array está ordenado em ordem decrescente.
- Use
Array.prototype.map()para aplicar a função iteradora a todos os elementos do array. - Use
Array.prototype.reverse()eArray.prototype.findIndex()para encontrar o último índice apropriado onde o elemento deve ser inserido, com base na função iteradora fornecida.
Veja o código abaixo:
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;
};
Aqui está um exemplo:
sortedLastIndexBy([{ x: 4 }, { x: 5 }], { x: 4 }, (o) => o.x); // 1
Resumo
Parabéns! Você concluiu o laboratório Last Insertion Index in Sorted Array Based on Function. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.