遍历对象是我们实际开发中经常用到的操作,今天就来做一个盘点。
# f Q- @/ ]* G1 \4 Blet obj = {name:"zhang",age:24,job:"程序员",hobby:["音乐","摄影","旅行"]}; 1、for...in遍历
) Q# i9 A- q D3 z6 j/ efor(let item in obj){
console.log(item); //item是对象属性名 name,age,job,hobby
} 2、Object.keys()& U5 ?; D* \5 z
返回对象属性名组成的数组,然后就可以使用数组的遍历方法进行遍历。
6 U& i. G- A6 A% _; \( JObject.keys(obj); // ["name", "age", "job", "hobby"] 3、Object.getOwnPropertyNames()
+ D9 A" {! b j3 Y 返回对象属性名组成的数组; T* `: M; n# W4 P* V* D" W; d
Object.getOwnPropertyNames(obj); // ["name", "age", "job", "hobby"] 4、Reflect.ownKeys()7 ]% C0 e" g/ x( Y) Q
返回对象属性名组成的数组。Reflect是ES6为操作对象而提供的新API。提供了很多新的api用于替代旧的一些不友好的写法。
9 p7 N \6 y. ?7 u8 N6 b% MReflect.ownKeys(obj); // ["name", "age", "job", "hobby"]
|