js中怎么去循环对象

164 阅读1分钟

ES6 之前,循环对象常见做法是用 for...in但是 for...in 循环的问题在于它会遍历原型链中的属性,所以需要使用 hasOwnProperty 来执行检查属性是否属于该对象。

ES6 之后,我们对于对象的循环有了新的方法 Object.keys , Object.values , Object.entries

Object.keys 创建一个包含对象所有属性的数组

Object.values 创建一个包含对象中每个属性值得数组

Object.entries 创建一个二维数组。每个数组都有俩个元素,一个是属性名,一个是属性值

const obj={
    a:1,
    b:2,
    c:3
}
var keys = Object.keys(obj);
console.log(keys)    // ["a","b","c"] 

var values = Object.values(obj);
console.log(values)  // ["1","2","3"] 

var entries = Object.entries(obj);
console.log(entries)   // 会输出一个既有属性名,又有属性值得数组