遍历对象是我们实际开发中经常用到的操作,今天就来做一个盘点。
3 \' A1 B |1 J8 d9 w5 c0 Y+ Klet obj = {name:"zhang",age:24,job:"程序员",hobby:["音乐","摄影","旅行"]}; 1、for...in遍历, \& a0 m6 M8 }9 W
for(let item in obj){
console.log(item); //item是对象属性名 name,age,job,hobby
} 2、Object.keys()) j9 e: G; R/ t! ~7 s8 S+ q
返回对象属性名组成的数组,然后就可以使用数组的遍历方法进行遍历。
7 j+ G4 D9 s; j8 l. RObject.keys(obj); // ["name", "age", "job", "hobby"] 3、Object.getOwnPropertyNames()
9 l) D1 @' ~. y" d4 H. | 返回对象属性名组成的数组
9 [# w# u, C9 S! s2 m6 U h2 o' g% BObject.getOwnPropertyNames(obj); // ["name", "age", "job", "hobby"] 4、Reflect.ownKeys()
/ ?+ U: q8 f; W6 v+ |8 ]+ {4 }- | 返回对象属性名组成的数组。Reflect是ES6为操作对象而提供的新API。提供了很多新的api用于替代旧的一些不友好的写法。
B) g! x! U( w; j# P3 sReflect.ownKeys(obj); // ["name", "age", "job", "hobby"]
|