JavaScript:
Usando arrays associativos
Como fazer:
Criar e usar arrays associativos (objetos) em JavaScript é direto. Você define um objeto com chaves {}
, e dentro delas, você pode definir um conjunto de pares chave-valor. As chaves são sempre strings, e os valores podem ser qualquer coisa: strings, números, arrays, até outros objetos.
// Criando um array associativo
let userInfo = {
name: "Alex",
age: 30,
email: "[email protected]"
};
// Acessando elementos
console.log(userInfo.name); // Saída: Alex
console.log(userInfo["email"]); // Saída: [email protected]
// Adicionando novos elementos
userInfo.job = "Desenvolvedor";
userInfo["country"] = "Canadá";
console.log(userInfo);
/* Saída:
{
name: "Alex",
age: 30,
email: "[email protected]",
job: "Desenvolvedor",
country: "Canadá"
}
*/
// Deletando um elemento
delete userInfo.age;
console.log(userInfo);
/* Saída:
{
name: "Alex",
email: "[email protected]",
job: "Desenvolvedor",
country: "Canadá"
}
*/
Como você pode ver, acessar, adicionar ou deletar elementos em um array associativo é bastante direto e intuitivo.
Aprofundando
No mundo JavaScript, embora muitas vezes ouçamos o termo “array associativo”, tecnicamente é um equívoco porque JavaScript não possui verdadeiros arrays associativos como outras linguagens (por exemplo, PHP). O que JavaScript tem são objetos que servem a um propósito similar, mas são uma construção mais poderosa e flexível.
Historicamente, arrays em linguagens de programação foram projetados para conter uma coleção de itens, acessados por seu índice numérico. No entanto, à medida que o desenvolvimento de software evoluiu, surgiu a necessidade de estruturas de dados mais flexíveis. Arrays associativos, ou dicionários em outras línguas, foram uma resposta, permitindo acesso a elementos através de chaves arbitrárias.
A abordagem do JavaScript com objetos como armazenamentos de chave-valor oferece uma mistura de funcionalidades. Permite que propriedades (chaves) sejam adicionadas, removidas e consultadas pelo nome. JSON (JavaScript Object Notation) é um testemunho da utilidade dessa estrutura, tornando-se o padrão de fato para troca de dados na web.
Embora objetos cubram a maioria das necessidades para arrays associativos, em casos onde a ordem das chaves ou iteração é importante, o objeto Map
introduzido no ES6 proporciona uma alternativa melhor. Um Map
mantém a ordem das chaves, aceita uma gama mais ampla de tipos de dados como chaves e inclui métodos úteis para iteração e recuperação de tamanho. Apesar dessas vantagens, a sintaxe de objeto tradicional permanece popular por sua simplicidade e facilidade de uso em muitos cenários comuns.