Passear através de um objecto JavaScript
- 
          
            Loop for-inpara fazer um loop através do objeto JavaScript
- 
          
            Utilizar o laço for-ofpara fazer um laço através do objecto JavaScript
- 
          
            Utilizar o método forEachpara fazer loop através do objecto JavaScript
 
Este artigo tutorial irá introduzir como podemos iterar um objecto JavaScript.
Existem várias declarações em loop, e um método utilizado para iterar através de um objecto JavaScript é o seguinte.
- loop for-in
- loop for-of
- método forEach
Loop for-in para fazer um loop através do objeto JavaScript
A declaração for-in é um laço utilizado para iterar o objecto JavaScript com pares de valores chave. Este laço itera sobre todos os elementos do objecto JavaScript.
O código de exemplo da utilização do laço for-in para fazer um laço através do objecto JavaScript é o seguinte.
var Cities = {
  City1: 'Tokyo',
  City2: 'Paris',
  City3: 'Dubai',
  City3: 'Rome',
  City4: 'London'
} for (var city in Cities) {
  console.log(city, ':', Cities[city]);
}
Resultado:
City1 : Tokyo
City2 : Paris
City3 : Dubai
City4 : Rome 
City5 : London
Ao utilizar o laço for-in, não temos de utilizar nenhuma função especial para iterar ou fazer um laço a um objecto.
Utilizar o laço for-of para fazer um laço através do objecto JavaScript
A declaração for-of é também um laço que itera um objecto iterável que não tem pares de valores chave. Também podemos utilizar este laço para iterar o objecto JavaScript com pares de valores-chave, mas com algumas funções especiais, como se segue.
- Object.getOwnPropertyNames
- Object.entries
- Object.keys
- Reflect.ownKeys
Object.getOwnPropertyNames
Este método retorna um array de todas as chaves dos pares chave-valor armazenadas no objecto. Mas para iterar todos os pares de chaves de valor do objecto JavaScript, precisamos de utilizar este método com um laço for-of.
O código de exemplo de utilização do for-of com Object.getOwnPropertyNames() para iterar o objecto é o seguinte.
var Cities = {
  City1: 'Tokyo',
  City2: 'Paris',
  City3: 'Dubai',
  City3: 'Rome',
  City4: 'London'
};
for (var city of Object.getOwnPropertyNames(Cities)) {
  const CityName = Cities[city];
  console.log(city, ':', CityName);
}
Resultado:
City1: Tokyo
City2: Paris
City3: Dubai
City4: Rome
City5: London
Object.entries
Este método devolve a matriz do par do valor chave do objecto. Mas para iterar uma chave e um valor, precisamos de utilizar o for-of loop com este método para fazer loop através do objecto JavaScript.
O código de exemplo de utilização do for-of com Object.entries() para iterar o objecto é o seguinte.
var Cities = {
  City1: 'Tokyo',
  City2: 'Paris',
  City3: 'Dubai',
  City3: 'Rome',
  City4: 'London'
};
for (var [city, CityName] of Object.entries(Cities)) {
  console.log(city, ':', CityName);
}
Resultado:
City1 : Tokyo
City2 : Paris
City3 : Dubai
City4 : Rome 
City5 : London
Object.keys
Este método devolve a matriz das chaves do objecto. Mas para iterar os pares chave-valor de um objecto, precisamos de utilizar esta função com o for-of loop.
O código de exemplo de utilização do for-of com Object.keys() para iterar o objecto é o seguinte.
var Cities = {
  City1: 'Tokyo',
  City2: 'Paris',
  City3: 'Dubai',
  City3: 'Rome',
  City4: 'London'
};
for (var city of Object.keys(Cities)) {
  console.log(city, ':', cities[city]);
}
Resultado:
City1 : Tokyo
City2 : Paris
City3 : Dubai
City4 : Rome 
City5 : London
Reflect.ownKeys
Este método também devolve as chaves do objecto. Mas para iterar os pares chave-valor do objecto, precisamos de utilizar esta função com o for-of loop.
O código de exemplo de utilização do for-of com Reflect.ownKeys para iterar o objecto é o seguinte.
var Cities = {
  City1: 'Tokyo',
  City2: 'Paris',
  City3: 'Dubai',
  City3: 'Rome',
  City4: 'London'
};
for (var city of Reflect.ownKeys(Cities)) {
  console.log(city, ':', cities[city]);
}
Resultado:
City1 : Tokyo
City2 : Paris
City3 : Dubai
City4 : Rome 
City5 : London
Utilizar o método forEach para fazer loop através do objecto JavaScript
O método forEach funciona como um iterador para chamar o outro método sequencialmente. Mas podemos utilizar este método para iterar o objecto, utilizando várias outras funções que são as seguintes.
- Object.keys
- Reflect.ownKeys
Object.keys
Utilizando este método com o método forEach, podemos iterar os pares de valores chave de um objecto.
var Cities = {
  City1: 'Tokyo',
  City2: 'Paris',
  City3: 'Dubai',
  City3: 'Rome',
  City4: 'London'
};
Object.keys.forEach(city => {console.log(city, ':', Cities[city])})
Resultado:
City1 : Tokyo
City2 : Paris
City3 : Dubai
City4 : Rome 
City5 : London
Reflect.ownKeys
Utilizando este método com o método forEach, podemos iterar os pares de valores chave de um objecto.
var Cities = {
  City1: 'Tokyo',
  City2: 'Paris',
  City3: 'Dubai',
  City3: 'Rome',
  City4: 'London'
};
Reflect.ownKeys.forEach(city => {console.log(city, ':', Cities[city])})
Resultado:
City1 : Tokyo
City2 : Paris
City3 : Dubai
City4 : Rome 
City5 : London