Object.keys()
在实际开发过程中,有时需要知道对象的所有属性,除了 (for...in...) 外,原生js 给我们提供了一个更优雅的方法:
Object.keys( object)。
☆ 传入对象, 返回 包含对象可枚举属性和方法的数组
-
var obj = {'a': 'Beijing', 'b': 'Haidian'};
-
console.log(Object.keys(obj)); //['a', 'b']
☆ 传入字符串,返回索引值
-
var str = "Beijing";
-
console.log(Object.keys(str));
-
// ["0", "1", "2", "3", "4", "5", "6"]
☆ 传入数组,返回索引值
-
var arr = ["a", "b", "c"];
-
console.log(Object.keys(arr));
-
//["0", "1", "2"]
☆ 构造函数,返回空数组或者属性名
-
function Demo(name, age) {
-
this.name = name;
-
this.age = age;
-
}
-
console.log(Object.keys(Demo));
-
// []
⭐️ keys 方法仅返回可枚举属性和方法的名称;若要返回可枚举和不可枚举属性和方法的名称,可以使用 Object.getOwnPropertyNames( ) 函数。