(一) js 的对象的遍历方法
(1) 使用 Object.keys() 方法获取对象的键组成的列表,计算长度只需要该数组的 length 属性即可。
const type = {
SCALAR: 1,
VEC2: 2,
VEC3: 3,
VEC4: 4,
MAT2: 4,
MAT3: 9,
MAT4: 16,
};
// 打印 type 对象的每一个值。
Object.keys(type).forEach((key) => {
console.log(key, type[key]);
})
const length = Object.keys(type).length;
console.log(length) // 7
(2) 使用Object.getOwnPropertyNames(obj)遍历,返回一个数组,包含对象自身的所有属性(不含Symbol属性,但是包括不可枚举属性).
var obj = {'0':'a','1':'b','2':'c'};
Object.getOwnPropertyNames(obj).forEach(function(key){
console.log(key,obj[key]);
});
(3) 使用 for ... in ...遍历: 循环遍历对象自身的和继承的可枚举属性(不含Symbol属性).
var obj = {'0':'a','1':'b','2':'c'};
for(var i in obj) {
console.log(i,":",obj[i]);
}
(4) 使用Reflect.ownKeys(obj)遍历,返回一个数组,包含对象自身的所有属性,不管属性名是Symbol或字符串,也不管是否可枚举。
var obj = {'0':'a','1':'b','2':'c'};
Reflect.ownKeys(obj).forEach(function(key){
console.log(key,obj[key]);
});