How to scroll through an object in javascript?

How to scroll through the object below with javascript? (in the same way that arrays are traversed with map ()).

var obj = {
  "column01": "Coluna 01",
  "column02": "Coluna 02",
  "column03": "Coluna 03",
  "column04": "Coluna 04",
  "column05": "Coluna 05",
  "column06": "Coluna 06",
  "column07": "Coluna 07",
  "column08": "Coluna 08",
  "column09": "Coluna 09",
  "column10": "Coluna 10"
};
Author: Vinicius Brasil, 2016-12-23

3 answers

You can use Object.keys or for..in to iterate the keys and values of the object:

var obj = {
  "column01": "Coluna 01",
  "column02": "Coluna 02"
};

Object.keys(obj).forEach(function(item){
 console.log(item + " = " + obj[item]);
});

for (var property in obj){
  console.log(property + " = " + obj[property]);
}

Or with Object.entries :

var obj = {
  "column01": "Coluna 01",
  "column02": "Coluna 02"
};

for (var [key, value] of Object.entries(obj)) {
    console.log(key + ' ' + value);
}
 15
Author: BrTkCa, 2016-12-23 18:46:35

The correct is to use for in with property check to avoid possible errors. Example:

var obj = {
    "column01": "Coluna 01",
    "column02": "Coluna 02",
    "column03": "Coluna 03"
};

for (var column in obj) {
    obj.hasOwnProperty(column) {
        console.log(column); // column01
        console.log(obj[column]); // Coluna 01
    }
}

Why use obj.hasOwnProperty?

If By Chance any Object has any change in Prototype it will be passed in for. Example:

Object.prototype.test = function() {};
Object.prototype.test2 = function() {};

var obj = {
    "a": 1,
    "b": 2
};

for (var letter in obj) {
    console.log(letter);
}

// a
// b
// test
// test2
 4
Author: relaxeaza, 2016-12-24 03:40:17

You can make use of Object.keys, for example:

Object.keys(obj).forEach((key) => {
    console.log(key); //column01...
    console.log(obj[key]); //Coluna 01...
});
 1
Author: Denis Bernardo, 2016-12-23 18:36:39