Technique 1 : Object.entries
let obj = {
key1: "value1",
key2: "value2",
key3: "value3"
}
Object.entries(obj)
//0: (2) ["key1", "value1"]
//1: (2) ["key2", "value2"]
//2: (2) ["key3", "value3"]
Object.entries(obj).forEach(entry => {
let key = entry[0];
let value = entry[1];
//use key and value here
});
Technique 2 : Object.keys
let obj = {
key1: "value1",
key2: "value2",
key3: "value3"
}
Object.keys(obj) // return array of object key
Object.keys(obj).forEach(key => {
let value = obj[key];
//use key and value here
});
Technique 3 : Object.values
let obj = {
key1: "value1",
key2: "value2",
key3: "value3"
}
Object.values(obj) // return array of object value
Object.values(obj).forEach(value => {
//use value here
});
Technique 4 : for...in loop
let obj = {
key1: "value1",
key2: "value2",
key3: "value3"
}
for (const key in obj) {
if (obj.hasOwnProperty(key)) {
//no a property from prototype chain
}else{
//property from protytpe chain
}
}
Technique 5 : Object.getOwnPropertyNames
- Like the for ... in technique but dont need to use hasOwnProperty build in method
let obj = {
key1: "value1",
key2: "value2",
key3: "value3"
}
Object.getOwnPropertyNames(obj).forEach(key => {
let value = obj[key];
//use key and value here
});