Armazenar Key-Value Array em JavaScript
-
Utilize JavaScript
Object
para armazenar um array de valores-chave -
Use JavaScript
Map
para armazenar um array de valores de chave
Arrays em JavaScript são variáveis únicas que armazenam diferentes elementos. Poderíamos precisar delas para armazenar uma lista de elementos, e cada elemento tem um índice para aceder a elas por ela. O JavaScript tem diferentes métodos para armazenar um array de valores chave.
Utilize JavaScript Object
para armazenar um array de valores-chave
O JavaScript Object
é uma entidade com propriedades, e cada propriedade tem valor, pelo que a terminologia de valor chave pode trabalhar sobre ela.
Exemplo:
let obj1 = {id: 1, name: 'Mark', age: 30, country: 'USA'};
obj1.city = 'New York';
obj1['job'] = 'software developer';
console.log(obj1);
Resultado:
{
age: 30
city: "New York"
country: "USA"
id: 1
job: "software developer"
name: "Mark"
}
Podemos fazer loop através dela:
let obj1 = {id: 1, name: 'Mark', age: 30, country: 'USA'};
obj1.city = 'New York';
obj1['job'] = 'software developer';
for (let key in obj1) {
console.log(key + ' => ' + obj1[key]);
}
Resultado:
id => 1
name => Mark
age => 30
country => USA
city => New York
job => software developer
Se tivermos um array, podemos fazer loop através do array um a um, adicionar as chaves do índice de cada elemento, e os valores correspondentes no Objecto.
let arr1 = ['delfstack', 'Computer', 'Science'];
let obj1 = {};
for (let i = 0; i < arr1.length; i++) {
obj1[i] = arr1[i];
}
for (let key of Object.keys(obj1)) {
console.log(key + ' => ' + obj1[key])
}
Resultado:
0 => delfstack
1 => Computer
2 => Science
Use JavaScript Map
para armazenar um array de valores de chave
Map
é tal e qual um Object
. É uma lista de itens de dados chaveados. A diferença é que o Map
permite qualquer tipo de chaves.
Sintaxe de JavaScript Map
let map = new Map();
- Chave de loja => valor:
map.set('name', 'mark');
Exemplo de mapa de Java
let arr1 = ['delfstack', 'Computer', 'Science'];
let map = new Map();
for (let i = 0; i < arr1.length; i++) {
map.set(i, arr1[i]);
}
for (let key of map.keys()) {
console.log(key + ' => ' + map.get(key))
}
Resultado:
0 => delfstack
1 => Computer
2 => Science