//...
let enumerableKeys =[];for (let key innatureColors) {
enumerableKeys.push(key);
}
enumerableKeys;//=> ['colorC', 'colorD', 'colorA', 'colorB']
enumerableKeys数组包含natureColors自身属性键: 'colorC'和'colorD'。
另外for..in也遍历了从simpleColors原型对象继承的属性
2. Object.values() 返回属性值
**Object.values()**方法返回一个给定对象自身的所有可枚举属性值的数组,值的顺序与使用for...in循环的顺序相同 ( 区别在于 for-in 循环枚举原型链中的属性 )。
来个例子,使用Object.keys()收集keys,然后通过 key 去对象取对应的值:
let meals ={
mealA:'Breakfast',
mealB:'Lunch',
mealC:'Dinner'};for(let key of Object.keys(meals)) {
let mealName=meals[key];//... do something with mealName
console.log(mealName);
}//'Breakfast' 'Lunch' 'Dinner'
meal是一个普通对象。 使用Object.key