Introdução
Neste laboratório, exploraremos a função indexBy em JavaScript, que cria um objeto a partir de um array com base em uma função fornecida. O objetivo deste laboratório é ajudá-lo a entender como usar Array.prototype.reduce() e como aplicar uma função a cada valor de um array para produzir um par chave-valor. Ao final deste laboratório, você será capaz de usar indexBy para mapear valores de um array para chaves e criar um novo objeto.
Função para Indexar um Array
Para indexar um array usando uma função, siga estes passos:
- Abra o Terminal/SSH e digite
nodepara começar a praticar a codificação. - Use
Array.prototype.reduce()para criar um objeto a partir do array. - Aplique a função fornecida a cada valor do array para produzir uma chave e adicione o par chave-valor ao objeto.
Aqui está um exemplo de trecho de código:
const indexBy = (arr, fn) =>
arr.reduce((obj, v, i) => {
obj[fn(v, i, arr)] = v;
return obj;
}, {});
Você pode usar esta função da seguinte forma:
indexBy(
[
{ id: 10, name: "apple" },
{ id: 20, name: "orange" }
],
(x) => x.id
);
// { '10': { id: 10, name: 'apple' }, '20': { id: 20, name: 'orange' } }
Esta função cria um objeto a partir de um array, mapeando cada valor para uma chave usando uma função fornecida. O objeto resultante contém pares chave-valor, onde as chaves são produzidas pela função e os valores são os elementos originais do array.
Resumo
Parabéns! Você concluiu o laboratório Index Array Based on Function. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.