js中遍历对象的方法

类型 特点 举例
Object.keys(obj) 返回对象本身可直接枚举的属性(不含Symbol属性) const obj = {a:'aaaaa',b:'bbbbb'}; Object.keys(obj); //['a', 'b']
Object.values(obj) 返回对象本身可返回的属性值(不含Symbol属性) const obj = {a:'aaaaa',b:'bbbbb'}; Object.values(obj); //['aaaaa', 'bbbbb']
Object.entries(obj) 返回对象本身可枚举属性键值对相对应的数组(不包括Symbol值作为名称的属性) const obj = {a:'aaaaa',b:'bbbbb'}; Object.entries(obj); //[['a', 'aaaaa'], ['b', 'bbbbb']]
Object.getOwnPropertyNames(obj) 返回对象所有自身属性的属性名(不包括Symbol值作为名称的属性) const obj = {a:'aaaaa',b:'bbbbb'}; Object.getOwnPropertyNames(obj); //['a', 'b']
for…in 遍历所有可枚举的属性(包括原型上的),然后可利用hasOwnProperty判断对象是否包含特定的自身(非继承)属性。for…in更适合遍历对象,不要使用for…in遍历数组 const obj = {a:'aaaaa',b:'bbbbb'}; for(let key in obj){console.log(key);}
forEach 使用forEach遍历 const obj = {a:'aaaaa',b:'bbbbb'};Object.values(obj).forEach(value => {console.log(value);});

注:其中,Object.keys(obj),Object.values(obj),Object.entries(obj),Object.getOwnPropertyNames(obj)的返回值均为数组;


参考链接: https://mp.weixin.qq.com/s/EThSOv2VNJvPCdniUb4Auw

你可能感兴趣的:(JavaScript,javascript,es6,object)