Object.keys()返回的是一个数组,没错是数组。记住!!!
记住上面这句话之后,接下来,我将举例说明让你非常容易就知道它的用法,然后有需要的同学再去看概念。
1.传入对象:返回包含对象可枚举属性和方法的数组
(或者通俗点讲:传入对象:返回属性名)
var obj = {'name': 'kiangkiang', 'age': 18};
console.log(Object.keys(obj)); // ["name","age"]
“可枚举属性”如何理解?
举例:
通过Object.defineProperty添加的属性是没办法进行枚举(也就是遍历出来)
let person = {
name:'张三',
sex:'男',
}
//通过Object.defineProperty添加的属性是没办法进行枚举(也就是遍历出来)
Object.defineProperty(person,'age',{
value:18,
})
console.log(person)
console.log(Object.keys(person))
2.传入字符串:返回索引值
var str = "Kiangkiang";
console.log(Object.keys(str));
// ["0", "1", "2", "3", "4", "5", "6","7","8","9"]
3.传入数组:返回索引值
var arr = ["a", "b", "c"];
console.log(Object.keys(arr));
//["0", "1", "2"]