遍历对象的几种方式

遍历对象的几种方式

for in

for in应该是最常见的遍历对象的方式

var obj = {
    name: 'Tracy',
    age: 26,
    height: 178
}
for (let k in obj) {
    console.log(k);
}

// print:
    // name
    // age
    // height

其实还有几种遍历对象的方式:

  1. Object.keys():遍历对象的键
  2. Object.values():遍历对象的值
  3. Object.entries(): 遍历对象返回键值对数组

Object.keys() + Object.values():

var obj = {
    name: 'Tracy',
    age: 26,
    height: '178cm'
}
// 遍历对象的键
var key = Object.keys(obj);
console.log(key);     // [ 'name', 'age', 'height' ]

// 遍历对象的值
var val = Object.values(obj);
console.log(val);     // [ 'Tracy', 26, '176cm' ]
console.log(val[2]);  // 176cm

for(let key in obj) {
    console.log(obj[key]);
}
// Tracy
// 26
// 178cm

Object.entries()

Object.entries()方法返回一个给定对象自身可枚举属性的键值对数组,其排列与使用 for...in 循环遍历该对象时返回的顺序一致(区别在于 for-in 循环也枚举原型链中的属性)。

var hero = {
    emperor: '曹操',
    general: '周瑜',
    worrory: '马超'
}
console.log(Object.entries(hero));   // [ [ 'emperor', '曹操' ], [ 'general', '周瑜' ], [ 'worrory', '马超' ] ]

for(let [key, val] of Object.entries(hero)) {
    console.log(key + '-' + val);
}

// emperor-曹操
// general-周瑜
// worrory-马超

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章