学习总结之js循环对象方法
先创建一个对象
const obj = {
name:'xhy',
age:18,
eat: function () {
console.log('热爱美食')
}
}
循环遍历出key,根据key去数组中取出值
for (let key in obj) {
console.log(key)// name age eat
console.log(obj[key])// xhy 18 function
}
-
Object.keys(obj) 与 Object.getOwnPropertyNames(obj)
- 1.Object.keys(obj)返回一个obj对象的key组成的数组,不包括不可枚举的属性
- 2.Object.getOwnPropertyNames(obj) 返回一个obj对象的key组成的数组,包括不可枚举的属性
console.log(Object.keys(obj))// [ 'name', 'age', 'eat' ]
// 把age变成不可枚举的
Object.defineProperty(obj, 'age' ,{
enumerable: false
})
console.log(Object.keys(obj))// [ 'name', 'eat' ]
console.log(Object.getOwnPropertyNames(obj))// [ 'name', 'age', 'eat' ]
返回一个obj对象的value组成的数组,不包括不可枚举的属性
console.log(Object.values(obj))// [ 'xhy', [Function: eat] ]
// 把eat变成不可枚举的
Object.defineProperty(obj, 'eat' ,{
enumerable: false
})
console.log(Object.values(obj))//[ 'xhy' ]