Introdução
Neste laboratório, exploraremos como encontrar os valores mínimo e máximo de um array com base em uma função fornecida. Usaremos o método reduce() em combinação com uma função comparadora para retornar o elemento apropriado no array. Ao final do laboratório, você terá uma boa compreensão de como usar este método para encontrar os valores mínimo e máximo em um array com base em sua função comparadora personalizada.
Como Encontrar o Mínimo e o Máximo de um Array Usando uma Função Fornecida
Para praticar a codificação, abra o Terminal ou SSH e digite node.
Aqui está uma função que retorna os valores mínimo e máximo de um array, com base em uma função fornecida que define a regra de comparação:
const reduceWhich = (arr, comparator = (a, b) => a - b) =>
arr.reduce((a, b) => (comparator(a, b) >= 0 ? b : a));
Para usá-la, siga estes passos:
- Chame
reduceWhichcom o array que você deseja processar e a funçãocomparatoropcional. - A função
reduceWhichusaráArray.prototype.reduce()em combinação com a funçãocomparatorpara retornar o elemento apropriado no array. - Se você omitir o segundo argumento (
comparator), a função padrão será usada, que retorna o elemento mínimo no array.
Aqui estão alguns exemplos de como usar reduceWhich:
reduceWhich([1, 3, 2]); // 1
reduceWhich([1, 3, 2], (a, b) => b - a); // 3
reduceWhich(
[
{ name: "Tom", age: 12 },
{ name: "Jack", age: 18 },
{ name: "Lucy", age: 9 }
],
(a, b) => a.age - b.age
); // {name: 'Lucy', age: 9}
Nos exemplos acima, a primeira chamada para reduceWhich retorna o valor mínimo do array [1, 3, 2], que é 1. A segunda chamada retorna o valor máximo do mesmo array, com base na função comparator que inverte a ordem de comparação. A terceira chamada retorna o objeto no array que possui a propriedade age mínima, com base na função comparator que compara as propriedades age dos objetos.
Resumo
Parabéns! Você concluiu o laboratório Min and Max of Array Based on Provided Function. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.