powerdong / myProblems

我用到了,你可能用到
0 stars 1 forks source link

javaScript遍历对象总结 #8

Open powerdong opened 4 years ago

powerdong commented 4 years ago

使用Object.keys()遍历

返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含Symbol属性).

var obj = {'0':'a','1':'b','2':'c'};

Object.keys(obj).forEach(function(key){
     console.log(key,obj[key]);
});

使用for..in..遍历

var obj = {'0':'a','1':'b','2':'c'};

for(var i in obj) {
     console.log(i,":",obj[i]);
}

使用Object.getOwnPropertyNames(obj)遍历

返回一个数组,包含对象自身的所有属性(不含Symbol属性,但是包括不可枚举属性).

var obj = {'0':'a','1':'b','2':'c'};

Object.getOwnPropertyNames(obj).forEach(function(key){
    console.log(key,obj[key]);
});

使用Reflect.ownKeys(obj)遍历

返回一个数组,包含对象自身的所有属性,不管属性名是Symbol或字符串,也不管是否可枚举.

var obj = {'0':'a','1':'b','2':'c'};

Reflect.ownKeys(obj).forEach(function(key){
console.log(key,obj[key]);
});